2010-11-16 2 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] или текст который установлен. Я не понимаю, как это имеет смысл. Это просто для демонстрации или есть причина для возврата идентификатора?

Thanks

+1

Если ViewState ["Text"] == null, то первая строка в get вызовет исключение. Вы не можете передавать значение null в строку. – Scottie

ответ

0

Не имеет смысла для меня. Если я прошу текст, то я ожидаю, если нет текста, чтобы получить либо пустую строку, либо нуль.

4

Он выглядит как пример, на котором будет отображаться идентификатор элемента управления, если элемент управления .Text не был установлен.

Это немного процедура «отладки», которая показывает, что элемент управления фактически выполняет рендеринг, даже если он не имеет никаких данных, установленных в свойстве «Текст».

+0

+1 Ты на месте. – Lazarus

0

Если ничего не было установлено для свойства Text, в ViewState с другими словами, то возвращается this.ID.

Для этого нет никакого смысла, но он отобразит текст на панели свойств Visual Studio и на дизайнере.