如何访问asp datalist控件的itemtemplate部分中的控件(在我的情况下为linkbutton)?例如:我想将linkbutton设置为visible false,但无法弄清楚如何从代码隐藏中获取对它的引用。
示例代码:
<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>
感谢。
答案 0 :(得分:3)
您需要处理项目数据绑定事件。然后找到linkbutton并在其中设置其属性如下:
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
答案 1 :(得分: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>