2009-07-10 55 views
1

如何訪問asp datalist控件的itemtemplate部分中的控件(linkbutton,在我的情況下)?例如:我想將鏈接按鈕設置爲可見false,但無法弄清楚如何從代碼隱藏中獲取對它的引用。動態隱藏DataList的ItemTemplate中的元素

示例代碼:

<asp:datalist id="datalist1" runat="server"> 
<ItemTemplate> 
    <asp:label id="label1" runat="server"></asp:label> 
    <asp:linkbutton id="editButton" runat="server" text="Edit"></asp:linkbutton> 
</ItemTemplate> 
</asp:datalist> 

感謝。

回答

3

您需要處理項目數據綁定事件。然後找LinkBut​​ton的,有設置其屬性如下:

protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e) 
{ 
    LinkButton lb=e.Item.FindControl("editButton") as LinkButton; 
    if(lb!=null){ 
     if(some condition){ 
      lb.Visible=false; 
     } 
    } 
} 

編輯: - 你可以在運行時獲得有關自定義數據列表的詳細信息here

0

你甚至不需要代碼隱藏,如果你做像這樣的東西

<asp:datalist id="datalist1" runat="server"> 
<ItemTemplate> 
    <asp:label id="label1" runat="server"></asp:label> 
    <asp:linkbutton id="editButton" runat="server" text="Edit" Visible='<%# Eval("SomeBooleanDataElement") %>'></asp:linkbutton> 
</ItemTemplate> 
</asp:datalist>