![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - Проблемма обработчиков событий OnSelectedIndexChanged в DropDownList |
|
.NET - Проблемма обработчиков событий OnSelectedIndexChanged в DropDownList
|
Старожил Сообщения: 222 |
Есть ASP.NET страница которая содержит в себе 3 DropDownList
<asp:DropDownList ID="ddlHour" runat="server" class="maxiSelect" AutoPostBack="true" OnLoad="ddlHour_OnLoad" OnSelectedIndexChanged="ddlHour_OnSelectedIndexChange" /> <asp:DropDownList ID="ddlMinute" runat="server" class="miniSelect" AutoPostBack="true" OnLoad="ddlMinute_OnLoad" OnSelectedIndexChanged="ddlMinute_OnSelectedIndexChange"/> <asp:DropDownList ID="ddlSecond" runat="server" class="miniSelect" OnLoad="ddlSecond_OnLoad" AutoPostBack="true" OnSelectedIndexChanged="ddlSecond_OnSelectedIndexChanged"/> protected void ddlHour_OnSelectedIndexChange(object sender, EventArgs e) { using (DropDownList dropDownList = sender as DropDownList) { if (dropDownList != null) Response.Redirect(WebQueryOperations.ModifyQuery(Request, "Hour", dropDownList.SelectedIndex)); } } protected void ddlMinute_OnSelectedIndexChange(object sender, EventArgs e) { using (DropDownList dropDownList = sender as DropDownList) { if (dropDownList != null) Response.Redirect(WebQueryOperations.ModifyQuery(Request, "Minute", dropDownList.SelectedIndex)); } } protected void ddlSecond_OnSelectedIndexChanged(object sender, EventArgs e) { using (DropDownList dropDownList = sender as DropDownList) { if (dropDownList != null && dropDownList.SelectedIndex != 60) Response.Redirect(WebQueryOperations.ModifyQuery(Request, "Second", (sender as DropDownList).SelectedValue)); else Response.Redirect(WebQueryOperations.ModifyQuery(Request, "Second", 60)); } } Проблема заключается в том что если мы сперва меняем значение в листе ddlHour тем самым вызывая обработчик ddlHour_OnSelectedIndexChange, то при изменении значений остальных двух листов для них все ровно вызывается обработчик ddlHour_OnSelectedIndexChange. Что не так сделано и как это можно исправить? |
|
------- Отправлено: 00:30, 23-11-2011 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Ну конечно он вызывается, ты же полностью перегружаешь страницу, следовательно индекс меняется на первоначальный. Задача какая стоит? Зачем делать перегрузку страницы после изменения каждого поля? Может быть имеет смысл перегружать по нажатию кнопки, либо выставить autopostback только у секунд, например.
|
------- Отправлено: 01:10, 23-11-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 222
|
Профиль | Отправить PM | Цитировать Дело вот еще в чем, я переделал этот код и сделал 1 общий обработчик для всех листов, но теперь еще проблемма в том что кнопка Submit у которой есть событие ОнКлик, не вызывает его, а этот обработчик листов.
Да и если убрать с обработчика редирект всеровно он вызывается. |
------- Последний раз редактировалось DaRiYs, 23-11-2011 в 01:56. Отправлено: 01:49, 23-11-2011 | #3 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать DaRiYs, ниче не понял, из того, что ты написал. 4 раза перечитал, не въехал, что куда когда и где не обновляется. И сама задача так и не была озвучена.
|
------- Отправлено: 03:16, 23-11-2011 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Репликация событий | Artuha | Microsoft Windows NT/2000/2003 | 2 | 11-07-2011 12:16 | |
Разное - Просмотр событий | Berkyt | Microsoft Windows 2000/XP | 1 | 07-11-2007 12:21 | |
Журнал событий | Vygov | Microsoft Windows 95/98/Me (архив) | 1 | 23-07-2007 01:54 | |
Аудит событий | GreenIce | Microsoft Windows NT/2000/2003 | 0 | 14-05-2007 22:40 |
|