2008-12-04 6 views
2

У нас есть свойство enableviewstate для всех элементов управления сервером в ASP.net. Мы знаем, что он будет иметь данные о членах и значения в viewstate через обратную связьEnableViewstate = true/false

Каков фактический пример этого?

+0

Прочтите это. Это ответит на ваши сомнения относительно viewstate. [Руководство для начинающих на viewstate] (http://www.codeproject.com/KB/aspnet/BegViewState.aspx) [Внутригосударственные структуры ViewState] (http://www.codeproject.com/KB/aspnet/aspnetviewstatepagecycle.aspx) – 2008-12-04 09:48:48

ответ

0

Я не совсем понял вопрос, но this article помог мне получить лучшее понимание ViewState - мы надеемся, это будет полезно для вас ...

1

Например, DataGrid контроль будет хранить все данные в DataBound его viewstate, чтобы он не перезагружал данные из своего источника (DB и т. д.) после обратной передачи. Тем не менее, все данные будут проходить через обратные вызовы в представлении, что может повлиять на размер страницы.

0

Проверьте любой пример управления. Чтобы увидеть эффект, сделайте enableviewstate как true/false ... вы увидите его эффект

3

Целью Viewstate в ASP.NET действительно является сохранение состояния через postbacks, где state - это значения свойств элементов управления, составляющих веб-интерфейс Управляющая иерархия формы. Но необходимо различать разные типы состояний.

Все, что вы назначаете декларативно элементу управления во время разработки , не должно необходимо сохранить в viewstate через postbacks. Например, представьте себе метку веб-контроль со следующим декларативным синтаксисом: «Hello, World!»

<asp:Label runat="server" Font-Name="Verdana" Text="Hello, World!"></asp:Label> 

Когда иерархия управления строится на этапе создания экземпляра, свойство Text этикетки будет установлено и его свойство Font будет иметь свойство Name для Verdana. Поскольку эти свойства задаются при посещении каждой страницы во время стадии создания экземпляра, нет необходимости в сохранении этой информации в viewstate.

Необходимо сохранить в viewstate любые программные изменения состояния страницы. Например, предположим, что помимо этого элемента управления Label Web страница также содержала два элемента управления Button Web, кнопку «Изменить сообщение» и кнопку «Пустая обратная передача». Кнопка «Изменить сообщение» имеет обработчик события Click, который присваивает свойству «Ярлык текст» «Прощай, мир!». Кнопка Empty Postback просто вызывает обратную передачу, но не выполняет никакого кода. Изменение свойства текста метки в кнопке «Изменить сообщение» необходимо сохранить в viewstate.

Простые свойства управления, такие как скалярные значения, строки, целые числа, булевы и т. Д., Следуют шаблону, рассмотренному выше. Но обратите внимание, что сложные свойства, такие как свойство шрифта Label, используют другой подход.

Более подробную информацию и примеры можно найти в this useful MSDN article.

Смежные вопросы