У меня есть веб-страница с двумя элементами управления выпадающего списка, каждый из которых связан с отдельными объектами LinqDataSource.Один отображает список Категории , а другой отображает список Статьи .Выбор категории определяет список статей (по крайней мере, это мое предполагаемое поведение).Список статей также фильтруется на основе предпочтений языка пользователя, сохраняется в сеансе и применяется в обработчике событий ArticleLinqDataSource_Selecting
.
<asp:Label runat="server" Text="Category Code:" AssociatedControlID="CategoryDropDownList" />
<asp:DropDownList runat="server" ID="CategoryDropDownList" DataSourceID="CategoryLinqDataSource" DataValueField="CategoryID" DataTextField="CategoryCode" AutoPostBack="true" />
...
<asp:Label runat="server" Text="Article Code:" AssociatedControlID="ArticleCodeDropDown" />
<asp:DropDownList runat="server" ID="ArticleCodeDropDown" DataSourceID="ArticleLinqDataSource" DataValueField="ArticleID" DataTextField="ArticleCode" OnDataBound="ArticleCodeDropDown_DataBound" />
...
<asp:LinqDataSource runat="server" ID="CategoryLinqDataSource"
ContextTypeName="Article.Data.ArticleDataContext"
TableName="Categories" Select="new (CategoryID, CategoryCode)">
</asp:LinqDataSource>
...
<asp:LinqDataSource runat="server" ID="ArticleLinqDataSource"
ContextTypeName="Arcicle.Data.ArticleDataContext"
TableName="Articles" OrderBy="ArticleCode"
Select="new (ArticleID, ArticleCode)"
OnSelecting="ArticleLinqDataSource_Selecting">
</asp:LinqDataSource>
Все это прекрасно работает при первой загрузке страницы.Список категорий содержит все доступные значения категорий, и выбирается первая категория в списке.И соответствующие статьи для первой категории отображаются соответствующим образом в раскрывающемся меню «Статьи».Однако, когда я меняю категорию (постбэк происходит, потому что он установлен на AutoPostBack="true"
, выпадающий список Article не обновляется. Другими словами, событие OnSelecting не запускается при последующих постбэках.bahaviour? Если это так, как мне обойти это?