我编写了一个自定义 ASP.NET 服务器控件。当我呈现控件时,我检查 this.Enabled 属性以确定是否应该将 disabled 属性添加到我的标签(下面的代码摘录)。除非我专门设置了 Enabled 标志,否则无论面板处于何种状态,此值都是 True。
output.AddAttribute(HtmlTextWriterAttribute.Type, "text");
if (!this.Enabled)
{
output.AddAttribute(HtmlTextWriterAttribute.Disabled, "disabled");
}
output.AddAttribute(HtmlTextWriterAttribute.Value, this.DisplayName);
output.RenderBeginTag(HtmlTextWriterTag.Input);
output.RenderEndTag();
标准服务器控件(如文本框等)在这种情况下按预期运行并被禁用。
我必须实现什么模式才能检查控件是否实际上被禁用?您是否必须检查父级以查看它们中的任何一个是否是面板,然后查看它们是否已启用?如果是这样的话,似乎效率很低。
谢谢马克