У меня проблема с элементами управления раскрывающегося списка в моем проекте ASP.NET, что сводит меня с ума! любая помощь приветствуется ...
У меня есть два DropDownList на панели обновлений на моей странице, DropDownList1 используется в качестве фильтра для DropDownList2, который, в свою очередь, заполняет список. Проблема заключается в том, что при переопределении методов сохранения состояния представления страницы ниже происходит следующее:
1) Выберите значение в DropDownList1 и DropDownList2 заполняет соответственно.
2) Выберите значение в DropDownList2, и списки не загружают ничего, а DropDownList2 теряет выбранное значение.
Логика в коде для этих событий, похоже, не является проблемой, поскольку, когда я удаляю панель обновления со страницы, она работает нормально! Silimarly, он работает, когда присутствует панель обновления, но состояние просмотра не переопределяется!
Я провел некоторую трассировку в Visual Studio, и кажется, что событие для DropDownList1 вызывается для второй обратной передачи, хотя должно вызываться только событие для DropDownList2, поэтому мне интересно, есть ли какое-то " стек событий "удерживается ASP, который вызывает первое событие, даже если оно уже было вызвано и должно быть очищено. Он отлично работает для страниц без UpdatePanels.
Я переопределил
Page.SavePageStateToPersistenceMedium
и
Page.LoadPageStateFromPersistenceMedium
для сохранения / загрузки из текстового файла согласно этому примеру:
http://aspalliance.com/911
Следующие свойства были установлены для каждого элемента управления:
<asp:UpdatePanel runat="server" ID="upMain" UpdateMode="Conditional" >
<asp:DropDownList ID="DropDownList1" runat="server" CssClass="TextBoxFull" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" ondatabound="DropDownList1_DataBound">
<asp:DropDownList ID="DropDownList2" runat="server" CssClass="TextBoxFull" AutoPostBack="True" OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged" ondatabound="DropDownList2_DataBound">
Любая помощь приветствуется, это сводит меня с ума весь день.
Спасибо.