如何在转发器中找到带有runat = server的HTML标签?

时间:2012-10-10 07:32:25

标签: c# asp.net .net repeater

我正在使用Repeater生成一个表格,我需要将<td>设置为runat=server以设置其可见性。

我正在尝试使用ItemDataBound方法将其发现到FindControl事件中,但它不起作用。 我能做到这一点吗?

2 个答案:

答案 0 :(得分:3)

如果你想这样做,你应该这样写:

Visible=<%= SetVisiblity() %>

其中SetVisiblity是一个公共函数

答案 1 :(得分:0)

这应该可以解决问题。首先,创建一个调用以捕获转发器的OnDataItemBound事件的方法。

protected void MyRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{
   // Use FindControl, but start from the context of the RepeaterItem.
   //
   HtmlTableCell cell = e.item.FindControl("CellID") as HtmlTableCell;

   if ( cell != null )
   {
      // Do what you gotta do.
   }
}

您可以在转发器标记上明确连接事件。

<asp:Repeater ID="MyRepeater" runat="server" OnItemDataBound="MyRepeater_ItemDataBound">
</asp:Repeater>