我在用户控件中有一个标签:
<asp:Label runat="server" ID="lblRemainingPlacesMessage" Visible="false" />
我想将其可见性设置为 true:
protected void Page_Load(object sender, EventArgs e) {
lblRemainingPlacesMessage.Visible = true;
}
但是,标签仍然是隐藏的。
令我困惑的是,即使在即时窗口或调试器本地监视中,也无法更改该属性:
(立即窗口)
lblRemainingPlacesMessage.Visible
false
lblRemainingPlacesMessage.Visible = true
true
lblRemainingPlacesMessage.Visible
false
什么可以解释我的 Visible 属性无法更改?
我也不例外。只是一个类似于 NOOP 的操作...
我的应用启用了视图状态。最重要的是,我在页面中有其他标签,效果很好!
不知道这是否重要,但我使用以下方法在我的所有者页面中动态实例化我的用户控件:
protected override void CreateChildControls()
{
m_VisualControl = (MyUserControl)Page.LoadControl(_ascxPath);
Controls.Add(m_VisualControl);
}
该应用程序使用 .net 3.5 SP1 的 ASP.Net WebForms,我使用 Visual Studio 2012 Premium。