0

内部リストビューのデータソースをバインドできるように、C#ページの別のリストビュー内のリストビューにアクセスしようとしています。

以下はaspコードです。

     <asp:ListView runat="server" ID="itemListView">
                                <ItemTemplate>

                                <asp:Panel CssClass="twelve columns" ID="outerPanel" runat="server">
                                    <asp:Panel runat="server" CssClass="twelve columns" ID="row">

                                            <h4 runat="server"><a href='Itemdetails.aspx?id=<%#Eval("Id")%>'><%#Eval("Name")%></a></h4>
                                            <dl class="tabs  .three-up" >
                                                <dd class="active"><a href='#accepted<%#Eval("Id")%>'>Accepted Requests</a></dd>
                                                <dd><a href='#open<%#Eval("Id")%>'>Open Requests</a></dd>
                                                <dd><a href='#rejected<%#Eval("Id")%>'>Rejected Requests</a></dd>
                                            </dl>
                                            <ul class="tabs-content">
                                                <li class="active" id='accepted<%#Eval("Id")%>Tab'>
                                                    <asp:Label ID="abc" Text='<%#Eval("Name")%>' runat="server"></asp:Label>
<asp:ListView runat="server" ID="innerlistview"></asp:ListView>
                                                </li>
                                                <li id='open<%#Eval("Id")%>Tab'>This is simple tab 2s content.</li>
                                                <li id='rejected<%#Eval("Id")%>Tab'>This is simple tab 3s content.</li>
                                            </ul> 
                                    </asp:Panel>
                                </asp:Panel>

                                </ItemTemplate>
                                </asp:ListView>

アクセス方法を教えてください。

4

1 に答える 1

2

itemListView で、itemdatabound のイベント ハンドラーを作成します。内部リストビューにアクセスするには、次のコードを使用します。

protected void itemListView_ItemDataBound(object sender, ListViewItemEventArgs e)
{
    if (e.Item.ItemType == ListViewItemType.DataItem)
    {
        ListView innerlistview= (ListView) e.Item.FindControl("innerlistview");

        innerlistview.DataSource = SqlDataSource1;
        innerlistview.DataBind();

    }
}

SQL データソースを追加し、データをバインドできました。

以下のコードも追加しました

   <LayoutTemplate>
    <ul ID="itemPlaceholderContainer" runat="server" style="">
        <li ID="itemPlaceholder" runat="server" />
        </ul>
        <div style="">
        </div>
    </LayoutTemplate>

ASPXページでもこれを使用します

<asp:ListView runat="server" ID="itemListView" onitemdatabound="itemListView_ItemDataBound">
于 2013-08-16T14:55:28.537 に答える