动态隐藏 DataList 的 ItemTemplate 中的元素

发布于 2024-07-27 17:24:03 字数 452 浏览 4 评论 0原文

我如何访问位于 asp datalist 控件的 itemtemplate 部分内的控件(在我的例子中为 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>

谢谢。

How do i get access to a control (linkbutton in my case) that is within the itemtemplate section of asp datalist control? For example: I want to set the linkbutton to visible false, but cannot figure out how to get the reference to it from the code-behind.

Example code:

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

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

〆凄凉。 2024-08-03 17:24:03

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

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

编辑:- 您可以获得有关在运行时自定义数据列表的更多信息 此处

you need to handle item data bound event. Then find the linkbutton and set its properties there like this:

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

EDIT:- you can get more information regarding customizing data list at runtime here

无人问我粥可暖 2024-08-03 17:24:03

如果你这样做,你甚至可能不需要后台代码

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

You might not even need the code-behind if you do something like this

<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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文