2013-08-16 17 views
0

我想在c#頁面中訪問另一個listview內的列表視圖,以便我可以綁定內部列表視圖的數據源。在列表視圖的ItemTemplete中訪問ListView

下面是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> 

你能告訴我如何才能訪問它嗎?

+0

另外,我只看到一個ListView控件中還有你的代碼。 – jadarnel27

+0

道歉,我有innerlistview,並嘗試訪問這個列表視圖在C#代碼,但編譯器無法識別這個列表視圖,因爲它是在另一個列表視圖。 –

+0

請在這裏查看呈現的帖子,並編輯您的代碼以使其顯示。 – jadarnel27

回答

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"> 
+0

關於使用上面的代碼,它給了我錯誤:'itemListView_ItemDataBound'沒有超載與委託'System.EventHandler'編譯時間匹配。我嘗試使用公共無效的itemListView_ItemDataBound(對象發件人,EventArgs e),但沒有標識爲方法內的類型。 –

+0

這個錯誤是因爲使用ondatabound =「itemListView_ItemDataBound」onitemdatabound =「itemListView_ItemDataBound」 –