使用assosicatedControls及其控件显示和隐藏标签

时间:2010-06-30 15:00:09

标签: c# asp.net visibility labels

我想显示和隐藏标签及其控件。我可以在后面的代码中用c#做到这一点。但是,我只能显示/隐藏控件。有什么想法吗?

<asp:label AssociatedControlID="thisLabel" runat="server">This:
     <asp:label ID="thisLabel" CssClass="ascontrol" runat="server" />
</asp:label>

我希望能够根据用户访问页面来显示和隐藏整个内容。我只需要知道如何在后面的c#代码中显示/隐藏整个事物......似乎无法让封装标签的可见性消失。

3 个答案:

答案 0 :(得分:1)

您尚未提供服务器端ID:

<asp:Label ID="label_MyControl" AssociatedControlID="txt_MyControl" runat="server" />
<asp:TextBox ID="txt_MyControl" runat="server" />

你所做的是将asp:Label控件嵌套在另一个asp:Label control ....

答案 1 :(得分:1)

由于我通常会连续隐藏多个字段,因此我倾向于将整个事物包装在asp:Panel中并隐藏面板。但是,这只是我的特殊用法。但由于这是我的用法,我倾向于将这些类型的东西阻挡到面板中,即使是像你的例子一样简单。

只是我的镍价,你的里程可能会一如既往地变化。

答案 2 :(得分:0)

如果你让你的标记正确,它应该可以工作,如下:

<asp:Label ID="lblYear" runat="server" Text="Year (yyyy):" 
    AssociatedControlID="txtYear"></asp:Label>
<asp:TextBox ID="txtYear" runat="server" Columns="30" MaxLength="4"></asp:TextBox>

然后在后面的代码中你可以:

lblYear.visible = False
txtYear.Visible = False

现在,我对asp:标签的“AssociatedControlID”属性的理解主要是出于可访问性目的。您不需要设置AssociatedControlID值来使事情按照我所示的方式工作。