ネストされたリストビュー内の親リストビューへのアクセスに関する多くの質問を見てきましたが、私の質問に答えたものはありません。
最初のリストビューの一部のプロパティにアクセスして、2 番目に送信できないのはなぜですか? さまざまなプロパティを試しましたが、どれも機能しません。ItemPlaceHolder または単に User_Category はどうですか? 私の考えは、2 つの ObjectDataSoureces でこれを行い、DataKeyName を親リストビューから 2 番目の ObjectDataSource に送信することです。しかし、DataKeyName を取得する方法がわかりません (下の ???? を参照してください)。
<asp:ListView ID="ListView1" runat="server"
DataSourceID="srcGetOrderForm"
DataKeyNames=User_Category
ItemPlaceholderID="lvItemPlaceHolder">
<LayoutTemplate>
<asp:PlaceHolder runat="server" ID="lvItemPlaceHolder" />
</LayoutTemplate>
<ItemTemplate>
<asp:Panel runat="server" ID="panelCustomerInfo"
cssclass="collapsePanelHeaderForFilter">
<%# Eval("User_Category")%>
</asp:Panel>
<asp:panel runat="server" ID="panelCustomerDetails"
cssclass="collapsePanelForFilter">
<asp:ListView ID="ListView2" runat="server"
DataSourceID="srcGetOrderForm2"
ItemPlaceholderID="lvOrdersItemPlaceHolder">
<LayoutTemplate>
<ul>
<asp:PlaceHolder runat="server"
ID="lvOrdersItemPlaceHolder" />
</ul>
</LayoutTemplate>
<ItemTemplate>
<li>
Description: <%# Eval("Description")%>
</li>
</ItemTemplate>
</asp:ListView>
</asp:panel>
</ItemTemplate>
</asp:ListView>
<asp:ObjectDataSource
ID="srcGetOrderForm"
TypeName = "ABC.Products"
SelectMethod = "NewGetOrderFormCategories"
runat="server" >
<SelectParameters>
<asp:ProfileParameter Name="User" PropertyName="User_ID" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource
ID="srcGetOrderForm2"
TypeName = "ABC.Products"
SelectMethod = "NewGetOrderFormCategoryItems"
runat="server" >
<SelectParameters>
<asp:ProfileParameter Name="User" PropertyName="User_ID" />
<asp:ControlParameter ControlID="ListView1" Name="User_Category" PropertyName=???? />
</SelectParameters>
</asp:ObjectDataSource>