Почему некоторые элементы управления asp.net сохраняют свое состояние, хотя его свойство EnableViewState имеет значение false? - PullRequest
3 голосов
/ 23 апреля 2010

Поместите текстовое поле, флажок и кнопку на веб-сайте.Установите для свойства «EnableViewState» текстового поля и флажок значение false .Напишите что-нибудь в текстовое поле и установите флажок.Нажмите кнопку.

Почему текстовое поле все еще написано, а флажок установлен после ответа?

Ответы [ 2 ]

8 голосов
/ 23 апреля 2010

Некоторые вещи не полностью зависят от ViewState. В перечисленных вами элементах управления эти значения доступны в POST, отправленном на сервер, поэтому они выводятся оттуда, и элементы управления восстанавливают свое состояние таким образом.

Другие вещи, например, текст в <asp:Label>, например, не отправляются обратно, и они потеряют свои данные без ViewState. То же самое относится и к другим свойствам, таким как стилизация текстового поля и т. Д. ... будет восстановлено только value, потому что это все, что отсылается обратно, и, в результате, все это кодируется для захвата и восстановления. Если вы скажете «сделайте это красным», это будет потеряно при обратной передаче.

Как правило, что элемент управления может восстановить строго из опубликованных данных будет восстановлено при обратной передаче, все остальное будет потеряно.

0 голосов
/ 23 апреля 2010

Поскольку элементы управления HTML являются элементами без сохранения состояния.Поэтому Microsoft предоставляет функцию ViewState, которая помогает, когда пользователь отправляет данные на сервер или после отправки обратно значение остается тем жеПоэтому необходимо установить для свойства «EnableViewState» значение True.По умолчанию для всех элементов управления ASP.NET их EnableViewState имеет значение True

...