我有一些代码可以确定控件(在转发器中)是否应该可见,我想在Page_Load上调用它,但我似乎无法将控件放在转发器中。
<asp:Repeater ID="repreat" runat="server" >
<HeaderTemplate>
<asp:PlaceHolder runat="server" ID="thActivePrimary">Blah</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="PlaceHolder1">Blah</asp:PlaceHolder>
</HeaderTemplate>
<ItemTemplate>
<asp:PlaceHolder runat="server" ID="trActivePrimary">Blah</asp:PlaceHolder>
<asp:PlaceHolder runat="server" ID="thActivePrimary2">Blah</asp:PlaceHolder>
</ItemTemplate>
</asp:Repeater>
repreat.Controls总是空的。
我如何实现这一目标?
答案 0 :(得分:3)
foreach (RepeaterItem ri in repeat.Items)
ri.FindControl("thActivePrimary").Visible = false;
这应该有效
答案 1 :(得分:1)
控件不是在页面加载时创建的,它们是在调用databind时创建的。如果要在创建它们时访问每个项目,请查看转发器的DataBound事件。
或者将visible属性绑定到数据源