代码之家  ›  专栏  ›  技术社区  ›  James Hughes

在Repeater中迭代控件

  •  4
  • James Hughes  · 技术社区  · 17 年前

    我有一些代码来确定控件(在中继器中)是否应该可见,我想在pageu加载时调用它,但我似乎无法在中继器中获取控件。

    <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始终为空。

    2 回复  |  直到 17 年前
        1
  •  3
  •   Fiur    17 年前
        foreach (RepeaterItem ri in repeat.Items)
             ri.FindControl("thActivePrimary").Visible = false;
    

    这应该行得通

        2
  •  1
  •   Mesh    17 年前

    控件不是在页面加载时创建的,而是在调用databind时创建的。如果要在创建每个项目时访问它们,请查看中继器的数据绑定事件。

    或者将visible属性绑定到数据源

    推荐文章