【发布时间】:2015-04-09 16:17:41
【问题描述】:
我在网页上有一个简单的 asp:Label 控件。在 Page_Load 事件中,我有条件地用警告填充标签。很简单,对吧?这曾经可以工作,但现在我收到一条错误消息,提示控件为空。
控制声明:
<table width="100%">
<tr>
<td align="right">
<asp:Label ID="lblWarningLabel" runat="server" Enabled="False"></asp:Label>
</td>
</tr>
</table>
发现 lblWarningLabel 为空的代码隐藏:
if (sServerName.Contains("Staging") || sServerName.Contains("Test"))
{
Int32 iIndex = sServerName.IndexOf("/");
lblWarningLabel.Text = "Warning: You are working on the " + sServerName.Substring(iIndex + 1) + " server!";
lblWarningLabel.CssClass = "WarningLabel";
lblWarningLabel.Enabled = true;
}
我对此进行了研究,发现一些海报说他们的用户控件为空,或者他们试图动态创建控件,这两者都不属于这里。我没有使用 Resharper,但自从我上次查看这个程序以来,我已经通过 NuGet 安装了一些生产力工具。
感谢您的帮助。
更新: 我应该补充一点,同一页面上的另一个 asp:Label 控件按预期工作。 我还将“False”更改为“false”,然后一起删除了 Enabled 子句,但行为没有变化。
【问题讨论】: