Значения TextBox на Viewstate? - PullRequest
3 голосов
/ 01 марта 2012

значения textBox для обратной передачи НЕ сохраняются в Viewstate.

http://msdn.microsoft.com/en-us/library/ms972976.aspx

Когда веб-страница ASP.NET публикуется обратно на этапе загрузки данных обратной передачи, страницакласс видит, что одно из полей обратной формы соответствует интерфейсу IPostBackDataHandler.В иерархии есть такой элемент управления, поэтому вызывается метод LoadPostData () TextBox, передавая значение, введенное пользователем в TextBox («Hello, World!»).Метод LoadPostData () TextBox просто присваивает это переданное значение своему свойству Text.значения идентифицируются с помощью значений поля обратной отправки и назначаются в методе LoadPostData () для тех элементов управления, которые реализуют IPostBackDataHandler.

Теперь давайте поговорим о TextBox.OnTextChanged метод

Там говорится, что:

Примечание

Элемент управления TextBox должен сохранять некоторые значения между публикациями на сервере, чтобы это событие работало правильно.Убедитесь, что для этого элемента управления включено состояние просмотра.

Вопрос:

Итак, я предполагаю, что для определенных событий он действительно записывает в Viewstate ...

Как он сообщает ASP.NET «Запустить отслеживание изменений в Viewsstate» ?

Ответы [ 2 ]

2 голосов
/ 01 марта 2012

Когда вы включаете ViewState для TextBox, он просто сохраняется там.


Пример страницы ASPX

 <asp:TextBox ID="tb" runat="server" EnableViewState="true"></asp:TextBox>

C # (Code-behind) Пример

tb.EnableViewState = true;

Ваша цитата говорит о том, что это значение не требуется при восстановлении формы при обратной передаче.

Таким образом, вы можете отключить ViewState для TextBox, и он все равно сохранит свое значение. Но OnChanged не будет работать.

0 голосов
/ 01 марта 2012

Я считаю, что самое первое предложение вашего вопроса ... не ошибочно, но неточно.

Вы можете включить / отключить viewstate, используя свойство элемента управления (EnableViewState) или даже на уровне страницы.EnableViewState включен по умолчанию в TextBoxes.Если он включен, он будет сохранять ваши значения между постбэками.

...