Используя 2 dropDownList в строке повторителя, как можно использовать 1-й в качестве фильтра для 2-го?
Схема ретранслятора проста: [category_dropDown][item_dropDown][add_button]
Проблема в том, что я не могу подключить два элемента управления dropDown. SqlDataSource ControlParameter не может найти ControlID для вызова (элементы управления переименованы повторителем). Изменение значения ControlID на «itemRepeater$dropDownCategory», очевидно, не помогает. Как связать эти раскрывающиеся списки для работы в парах?
В основном интересно, есть ли решение кода разметки, поскольку решение кода программной части будет проще реализовать.
<asp:Repeater ID="itemRepeater" runat="server" OnItemCommand="itemRepeater_ItemCommand" onitemdatabound="itemRepeater_ItemDataBound">
<HeaderTemplate>
<table>
<tr>
<td>Category</td>
<td>Item</td>
<td></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><asp:DropDownList ID="dropDownCategory" runat="server" DataSourceID="SqlDataSourceCategory" DataTextField="Category"
DataValueField="ID_cat" SelectedValue='<%# DataBinder.Eval(Container.DataItem,"Category") %>' AppendDataBoundItems="true">
<asp:ListItem Value="%" Text="Pick category" Selected="True" />
</asp:DropDownList></td>
<td><asp:DropDownList ID="dropDownItem" runat="server" DataSourceID="SqlDataSourceItem" DataTextField="Item"
DataValueField="ID_item" SelectedValue='<%# DataBinder.Eval(Container.DataItem,"Item") %>' AppendDataBoundItems="true">
<asp:ListItem Value="%" Text="Pick item" Selected="True" />
</asp:DropDownList></td>
<td><asp:Button ID="repeatedButton" runat="server" CommandName='<%# DataBinder.Eval(Container.DataItem, "Button") %>' Text='<%# DataBinder.Eval(Container.DataItem, "Button") %>' /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSourceCategory" runat="server" ConnectionString="..."
SelectCommand="SELECT [Category], [ID_cat] FROM [Categories]">
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSourceItems" runat="server" ConnectionString="..."
SelectCommand="SELECT [ID_item],[Item] FROM [Items]" FilterExpression="WHERE [ID_cat] = @ID_cat" >
<FilterParameters>
<asp:ControlParameter Name="ID_cat" ControlID="dropDownCategory" PropertyName="SelectedValue" />
</FilterParameters>
</asp:SqlDataSource>
Вышеприведенная привязка ControlID явно неверна, поскольку SqlDataSourceItems не может найти ControlID с именем «dropDownCategory» в ItemTemplate и выдает известное исключение: Не удалось найти элемент управления «dropDownCategory» в ControlParameter «ID_cat»
Заранее благодарю за любой совет.