![]() |
|
Модераторы: gambit |
![]()
|
|
| semi |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 10.12.2006 Где: ой, все сложно... Репутация: нет Всего: нет |
привет
допустим следующую ситуацию: есть datagrid c 2-мя колнками. первая-кнопки, вторая-поле. по нажатию на кнопку должно открываться еще одно окно и в нем формироваться древовидное меню (с неизвесным уровнем вложенности. из бд) . пользователь выбирает определеную лист и нажмает "ок". в поле из второй колонки автоматичски появляется название выбраного листа . а теперь собствено вопросы 1. с чего начинать? 2. меню нашла на js. оно статическое... можно ли вызваь из asp функцию js? (например чтобы в asp считывать данные из базы, а в js формировать ветвь?) (с js у меня плохо :( да и в asp я не 3. если делать чистый js, то как считать данные из базы? 4. Поможет ли технология ajax? короче вопросов куча... главный - первый |
|||
|
||||
| Сарт |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 29.4.2006 Репутация: нет Всего: 0 |
Если не стоит задача использовать javascript то я бы сделал так:
Заполнение грида. В кнопке -работа с TreeView. (чтобы постоянно не висело- модификатор Visible). Есть ли вариант лучше-не знаю, сам новичек=) Если нужно могу кинуть в личку статью, в которой описанно как работать с TreeView.(создание чего то наподобие Проводника). --------------------
[color=purple][/color]Died.Of course, System.StackOverflow |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
semi,
Я бы посоветовал с создания проекта. Это самый первый и самый верный путь. Дальше у меня был бы вопрос.
Какие элементы древовидного меню должны возвращать значения. А какие нет... JS пишется в разделе <head></head> так что ты спокойно можешь туда засунуть твой скрипт. либо можешь через behind-code зарегестрировать скрипт (asp.net1.1 Page.RegisterClientScriptBlock, asp.net2.0 Page.ClientScript.RegisterClientScriptBlock). JS не может обращаться к СУБД на сервере. Это клиентский язык. Так что меню нужно будет создавать на стороне сервера. Зачем вызывать столь громоздкие элементы. Когда все можно сделать гораздо проще. Я наваял небольшой пример, как это все можно реализовать очень легко и просто. Без AJAX и с использованием обычного JS. На первой странице у меня обычный DataGrid (кстати, в asp.net 2.0 рекомендуется использовать GridView. Но я сделал тебе с помощью DataGrid). И JS функция, которая создает окно. Вторая страница, там у нас TreeView стоит и XmlDataSource. (я решил, что для наглядности примера, лучше использовать xml, а СУБД ты уже самсама прикрутишь). В открывшемся окне ты получаешь TreeView. если нажимаешь на ссылки, которые не имеют ChildNode'ов, то текст на который ты нажала оказывается в предыдущем окне. И после этого вспомогательное окно закрывает. P.S. я снабдил комментарием код. Так что ты спокойно разберешься что там и к чему. Это сообщение отредактировал(а) Mymik - 17.5.2007, 13:58 Присоединённый файл ( Кол-во скачиваний: 8 )
SmallHelp.rar 3,64 Kb-------------------- |
|||
|
||||
| Сарт |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 29.4.2006 Репутация: нет Всего: 0 |
Вроде ж это девушка?=)
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
я нашел только одно место где обращение ошибочно... Что ж. Коль есть еще ошибки, просьба читать правильно и ссылаться на безграмотного автора :о).
-------------------- |
|||
|
||||
| Сарт |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 29.4.2006 Репутация: нет Всего: 0 |
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow |
|||
|
||||
| semi |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 10.12.2006 Где: ой, все сложно... Репутация: нет Всего: нет |
девушка, девушка
мне обязательно нужно использовать asp1... framework точнее... там разве поддерживается работа с TreeView?
все должны иметь значение - ключ в таблице в базе... это что-то типа справочника. если я правильно поняла вопрос. спасибо. посмотрим, попробуем.
подозрения были учтем этот код должен работать в 1.1? пока не запускается. вариантов два: либо я что-то неправильно делаю, либо оно не должно работать у меня в принципе :( |
||||
|
|||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
Вы угадали со вторым вариантом. но в принципе вам нужно самый минимум. Там две JS функции, которые вам нужные есть. Так что от вас нужно только написать генерацию меню и разобравшись в том как оно генерируется просто подставить в нужные узлы JS код. Вот так вот. И все же. Какие узлы меню должны возвращать значение, а какие нет ??? -------------------- |
|||
|
||||
| semi |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 10.12.2006 Где: ой, все сложно... Репутация: нет Всего: нет |
ок. буду разбираться
хм... что вы понимаете под "узлы"? у нас есть - | +-11111 | - _ 22222 | | | - 33333 | | | - 44444 + - 55555 ... button"ok" button "cancel" 11111,22222... имеют значения и возвращают их если любой из них выбран и нажато "ok". если "+" нажат первый раз в первом уровне (где 11111 и 55555), то он возвращает значение 11111, 55555,... в запросе к серверу... соответственно все должны возвращать значения... только при различных условиях. |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
я че-то не понял, он что, возвращает полностью все значения узлов из данного уровня ??? O_o ого. Круто. Только совсем непонятно... Ты точно не ошиблась ??? Если не ошиблась. То когда сгенерируешь таблицу, древовидное меню, дашь ссылочку. Я погляжу на меню. Помогу с JS. там надо будет пройтись во меню... -------------------- |
|||
|
||||
| semi |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 10.12.2006 Где: ой, все сложно... Репутация: нет Всего: нет |
ткнул на плюс возле 11111 (11111 - текст. id у него например 1). к серверу идет запрос с параметром 1. сервер берет базу, считывает из нее всех "детей" поля с кодом 1 (если по хорошему, то и внуков с правнуками. я правда еще пока точно не представляю как это сделать). всех этих родственников в формат xml и назад к клиенту. клиент получает xml и автоматически формирует остальные узлы для 11111. я себе это так представляю... |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
semi,
То что ты написала -- это AJAX. (если без перезагрузки страницы. А AJAX в asp.net 1.0 небыло. Так что тебе прийдется писать самой AJAX запросы... И при это тебе еще нужно передавать Update для ViewState'а... мне кажется туда лучше не соваться пока что) А если использовать PostBack... тогда это будет высшей степени нелогично. Так что лучше передавать полностью все меню пользователю и обрабатывать его сразу на стороне клиента с помощью JS. Но в начале топика ты говорила о том, что ткнул на какой-то узел и он появился в TextBox предыдущей страницы. А точнее страницы, которая создала страницу с меню. -------------------- |
|||
|
||||
| semi |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 10.12.2006 Где: ой, все сложно... Репутация: нет Всего: нет |
мне тоже так кажется
начать действительно стоит с этого...
ну да... сложно передать данные в страницу, с которой открыли текущую? |
||||
|
|||||
| Mymik |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
нет. Не сложно
-------------------- |
||||
|
|||||
| semi |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 10.12.2006 Где: ой, все сложно... Репутация: нет Всего: нет |
спасибо
но я еще с исходной страницей вожусь... не получается связать js и asp :( я пыталась упростить код, который вы прислали (он у меня та и не заработал, но я думаю, что связь c js там нормально работает) кнопка. по нажатию просто открыть окно... хотя бы без параметров. вот что не получается:
что посоветуете? |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |