2010-11-16 151 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窗格和设计器上显示一些文本。