У меня есть два вложенных .Net ListViews. Мне нужно отфильтровать содержимое внутреннего списка, выбрав его из выпадающего списка во внешнем списке. Компоновка элемента управления выглядит следующим образом:
<asp:listview id="lvOuter" runat="server" onitemdatabound="lvOuter_OnItemDataBound"
onitemcommand="lvOuter_OnItemCommand" onitemcreated="lvOuter_ItemCreated" onselectedindexchanged="lvOuter_SelectedIndexChanged">
<layouttemplate>
<ul>
<asp:placeholder id="itemPlaceholder" runat="server" />
</ul>
</layouttemplate>
<itemtemplate>
<asp:dropdownlist id="ddlTest" runat="server" onselectedindexchanged="ddlTerm_SelectedIndexChanged" autopostback="true" >
<asp:listitem text="6" value="6"/>
<asp:listitem text="9" value="9"/>
</asp:dropdownlist>
<asp:listview id="lvInner" runat="server" onselectedindexchanging="lvInner_SelectedIndexChanging"
onitemdatabound="lvInner_ItemDataBound" onitemcommand="lvInner_OnItemCommand">
<layouttemplate>
<asp:placeholder id="itemPlaceholder" runat="server" />
</layouttemplate>
<itemtemplate>
<!--Results displayed here-->
</itemtemplate>
</asp:listview>
</itemtemplate>
</asp:listview>
При загрузке страницы я привязываю данные к внешнему представлению списка, а на OnItemDataBound я связываю внутренний просмотр списка.
Это все работает нормально, но сейчас мне нужно заново привязать внутренний просмотр списка с новым запрос, который включает параметр из выпадающего списка. Это должно произойти, когда пользователь выбирает новое значение в раскрывающемся списке. (OnSelectedIndexChanged)
Я могу достаточно легко получить доступ к значению через отправителя, например:
protected void ddlMyDropDown_OnSelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddlMyDropDown = sender as DropDownList;
string value = ddlMyDropDown.SelectedValue;
}
но я не могу найти внутренний просмотр списка, относящийся к этому раскрывающемуся списку, чтобы связать результаты нового запроса с добавленным предложением where.
Я уверен, что это должно быть довольно распространенным требованием. Любые указатели будут с благодарностью.