![]() |
|
Модераторы: gambit |
![]()
|
|
| Yagmort |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 17.6.2009 Репутация: нет Всего: -1 |
Есть 2 DropDownList а, в 1 я выбираю значение, а во 2-ом у меня по этому значению выбираются(отсекаются) определенные значения. Во 2-ом DropDownList2 видно 2 поля, но почему то при выборе любого из 2-х значений, они у меня не выбираются и сбрасываются на начало ... Где я тут ошибся ?
Это сообщение отредактировал(а) Yagmort - 14.2.2011, 11:04 |
|||
|
||||
| Gluttton |
|
||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 2 Всего: 54 |
Не уверен, но может быть поможет.
Обработчики нужно "завернуть" в условие: Не обработчики, а код в Page_Load !
Т.к. если этого не сделать, то после выбора элемента из DropDownList страница загружается по новой и выполняется код в Page_Load, который устанавливает значение элементов в начальное состояние. Это сообщение отредактировал(а) Gluttton - 14.2.2011, 11:16 -------------------- Слава Україні! |
||||
|
|||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 2 Всего: 54 |
Рекомендую посмотреть в сторону DataBind ;) . -------------------- Слава Україні! |
|||
|
||||
| Yagmort |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 17.6.2009 Репутация: нет Всего: -1 |
И что там у меня с ним ? Он же связывает источник данных с эл. управления ? Добавлено через 3 минуты и 10 секунд Я не вижу вариантов, как его передаелать, так чтобы он не обновлял список... Добавлено через 7 минут и 45 секунд Он его при выборе из списка значения переприцепляет, как убрать не знаю, ведь событие
|
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 2 Всего: 54 |
Yagmort,
Это не имеет отношения к описанной проблемы. Это я на будущее. Касательно проблемы: покажи Page_Load. -------------------- Слава Україні! |
|||
|
||||
| Yagmort |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 17.6.2009 Репутация: нет Всего: -1 |
Page Load у меня пустой;
Ровно как и Update Panel, на которой находятся эти контролы. Добавлено через 5 минут и 13 секунд Сделал точку останова, и понял, что при выборе значения из DropDownList2 он мне с обновлением страницы, вызывает еще и событие. Но как сделать, так чтобы он его не вызывал при выборе значения из DDL2? protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { this.DropDownList2_Init(this, e); } |
|||
|
||||
| Gluttton |
|
||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 2 Всего: 54 |
AutoPostBack ?
Только вот куда его воткнуть не скажу. Но чувствую, что должно помочь Это сообщение отредактировал(а) Gluttton - 14.2.2011, 12:31 -------------------- Слава Україні! |
||||
|
|||||
| Yagmort |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 17.6.2009 Репутация: нет Всего: -1 |
Знаю, что такое IsPostBack воткнул я его на загрузку форму и написал туда это, но при выборе ничего не пояляется this.DropDownList2_Init(this, e); |
||||||
|
|||||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 2 Всего: 54 |
Yagmort, ОК. А зачем вообще инициализировать DropDownList? Почему нельзя его объявить пустым, а затем после выбора элемента в одном DropDownList выбирать значения в коллекцию и заполнять ими второй DropDownList?
Какова вообще логика работы связки двух DropDownList? -------------------- Слава Україні! |
|||
|
||||
| Yagmort |
|
||||||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 17.6.2009 Репутация: нет Всего: -1 |
Ну сделал я так, но все равно одно и то же Кстати AvtoPostBack=true;
Добавлено через 2 минуты и 57 секунд
Да но если я уберу AvtoPostBack, то отсылка на сервер не выполняется и мое событие DDL1 не работает. Добавлено через 7 минут и 28 секунд
Убрал AvtoPostBack и его выполняю, только при определенном событии и все заработало... Но только правильно ли это ? |
||||||||||||
|
|||||||||||||
| Gluttton |
|
||||||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 2 Всего: 54 |
Не знаю, я только начинаю знакомиться с ASP.NET. Вот рабочий код, суть которого в следующем: на форме есть два DropDownList (dropDownListPostOrganizationID, который отображает коды организаций и dropDownListPost, который отображает наименование должностей для выбранной организации). При изменении значения кода организации обновляется список должностей. Код выполняет следующее: - формирует запрос к БД за уточненными данными; - получает данные в виде ArrayList; - заполняет полученными данными dropDownListPost. Все просто, без хаков...
Если убрать специфичный для проекта код, то получится вот такое:
Т.е. получаем уточненную коллекцию данных и поэлементно добавляем значения в очищенный DropDownList. Надеюсь поможет! Добавлено через 3 минуты и 8 секунд
-------------------- Слава Україні! |
||||||||
|
|||||||||
| Yagmort |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 17.6.2009 Репутация: нет Всего: -1 |
<asp:DropDownList id="dropDownListPost" runat="server" /> Только опять же вопрос, все отфильтровал, выбирается значение нормально, но как получить с него это значение DDL.SelectedIthem.Value; возвращает всегда "" Это сообщение отредактировал(а) Yagmort - 14.2.2011, 14:18 |
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 2 Всего: 54 |
Yagmort, у DropDownList есть и DataTextField и DataValueField при работе с выборками из БД в первом удобно хранить текстовые поля, а во вторых их уникальные идентификаторы (например ключи).
Поэтому если в Value ничего не положить, то там ничего и не будет, и значение нужно искать в Text. -------------------- Слава Україні! |
|||
|
||||
| Yagmort |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 17.6.2009 Репутация: нет Всего: -1 |
Я пробовал и так DDL.SelectedIthem.Value и так DDL.SelectedIthem.Text и ничего не выходит Добавлено через 1 минуту и 37 секунд foreach (string s in arrayList) { dropDownListPost.Items.Add (s); dropDownListPost.DataTextField=s; } и так тоже пробовал и потом получал значения, все равно ничего |
|||
|
||||
| Yagmort |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 17.6.2009 Репутация: нет Всего: -1 |
чет внятного ответа я так и не нашел...
Добавлено через 5 минут и 2 секунды перепробовал за сегодня все варианты и понял, что с DDL похоэе ничего не выйдет ... |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |