2010-11-16 212 views
1

我期待在服務器控件的第一次,和我有一個關於這個代碼的問題:基本服務器控制

[Bindable(true)] 
[Category("Appearance")] 
[DefaultValue("")] 
[Localizable(true)] 
public string Text 
{ 
    get 
    { 
     String s = (String)ViewState["Text"]; 
     return ((s == null) ? "[" + this.ID + "]" : s); 
    } 

    set 
    { 
     ViewState["Text"] = value; 
    } 
} 

我不明白爲什麼這個控制返回[ID]或文本這是設置。我不明白這有什麼意義。這僅僅是爲了演示還是有理由返回ID?

謝謝

+1

如果ViewState [「Text」] == null,那麼get中的第一行將拋出異常。您不能將null轉換爲字符串。 – Scottie 2010-11-16 15:58:48

回答

0

對我沒有意義。如果我要求提供文本,那麼我期望如果沒有文本來獲取空字符串或null。

4

它看起來像一個示例,如果控件.Text屬性尚未設置,將顯示控件ID。

這是一個「調試」過程,以顯示該控件實際上即使它沒有任何數據設置在其Text屬性中的位。

+0

+1你現在就在。 – Lazarus 2010-11-16 15:57:45

0

如果沒有爲Text屬性設置任何內容,則在ViewState中使用其他詞,然後返回this.ID

它沒有真正的意義,但它會在Visual Studio的Property窗格和設計器上顯示一些文本。