【问题标题】:Dynamically hiding an element from the ItemTemplate of DataList从 DataList 的 ItemTemplate 中动态隐藏元素
【发布时间】:2009-07-10 01:51:36
【问题描述】:

如何访问 asp datalist 控件的 itemtemplate 部分中的控件(在我的情况下为链接按钮)?例如:我想将链接按钮设置为可见 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>

谢谢。

【问题讨论】:

    标签: asp.net datalist


    【解决方案1】:

    您需要处理项目数据绑定事件。然后找到链接按钮并在那里设置它的属性,如下所示:

    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

    【讨论】:

      【解决方案2】:

      如果你做这样的事情,你甚至可能不需要代码隐藏

      <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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-26
        • 2014-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-10
        • 1970-01-01
        相关资源
        最近更新 更多