Обновление: Дополнительная информация о комментариях.
Если у вас отключено состояние просмотра и вы установили текст для текстовых полей, этот текст находится в элементе управления вводом. Это может повлиять на вас в необычном сценарии, когда вы пытаетесь узнать, изменилось ли значение данного текстового поля.
Выше приведено другое для метки, так как это не элемент управления вводом. Если состояние представления отключено, если вы не устанавливаете текст при каждом запросе, он покажет начальное значение (попробуйте). ViewState - это то, что автоматически позволяет хранить информацию в постбэках для элементов управления.
Как это происходит с ярлыком, так и с вашим пользовательским контролем. Если вы измените установщик так, чтобы он устанавливал оба элемента управления напрямую, он сохранит значение во внутренних элементах управления, если вы используете viewstate. Если вы отключите его, он будет вести себя иначе для метки, чем для текстового поля.
Также обратите внимание, что отключение состояния просмотра также повлияет на вашу конфигурацию Visible. Я часто отключаю режим просмотра, но у вас может быть сценарий, в котором вы действительно хотите сохранить управляющую информацию в постбэках. При выключении состояния просмотра необходимо всегда настраивать элементы управления, а не только когда! IsPostBack.
Обратите внимание, что если вы отслеживаете то, что должно быть видимым, и текст в вашем коде, то вы можете отключить состояние просмотра внутреннего элемента управления (при условии, что вы не назначаете им другое свойство).
Первоначальный ответ:
Вы назначаете текущее значение свойства Text метке / текстовому полю. Если вы не установили значение в текущем запросе, оно имеет значение по умолчанию, поэтому вы получаете пустой текст.
Вы можете сохранить значение в viewstate как (синтаксис c #):
public string Text
{
get
{
return (string) ViewState["MyText"];
}
set
{
ViewState["MyText"] = value;
}
}
Ps. это не единственный способ сделать это. Если переключатель не задал текст, но вы сделали это в установщике для обоих элементов управления, они сохранят значения (до тех пор, пока вы присваиваете свойство Text пользовательского элемента управления после отслеживания состояния представления, как на странице «Загрузка»). ).