2013-01-25 27 views
0

我寫了一個自定義的ASP.NET服務器控件。當我呈現控件時,我檢查this.Enabled屬性以確定是否應將禁用的屬性添加到我的標記(下面的代碼摘錄)。除非我專門設置啓用標誌,這個值不管它是在面板的狀態爲True。未禁用禁用的面板內的ASP.NET自定義服務器控件

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(); 

像文本框等標準服務器控件,像預期的那樣在這種情況下和被禁用。

我必須執行哪些模式才能檢查控件是否實際上被禁用?你必須檢查父母是否有任何人是一個小組,然後看看他們是否啓用?看起來效率很低,如果是這樣的話。

感謝 馬克

回答

1

剛剛找到它。

需要修改的代碼:

output.AddAttribute(HtmlTextWriterAttribute.Type, "text"); 
if (!this.IsEnabled) 
{ 
    output.AddAttribute(HtmlTextWriterAttribute.Disabled, "disabled"); 
} 
output.AddAttribute(HtmlTextWriterAttribute.Value, this.DisplayName); 
output.RenderBeginTag(HtmlTextWriterTag.Input); 
output.RenderEndTag(); 
相關問題