ASP.NET, Как ViewState работает

Да, это позволяется. final ключевое слово означает, что Вы не можете изменить значение переменной в ее объеме . Для Вашего примера цикла можно думать о переменной, выходящей из объема у основания цикла, затем возвращаясь в объем с новым значением наверху цикла. Присвоение переменной в цикле не будет работать.

7
задан 25 September 2009 в 06:53
поделиться

2 ответа

Пожалуйста, ознакомьтесь с этой статьей проекта кода , чтобы лучше понять ViewState и данные обратной передачи.

Это что-то вроде:

Почему некоторые элементы управления сохраняют значения даже после отключения ViewState а другие нет?

Ответ: средства управления, которые реализует IPostBackEventHandler IPostBackDataHandler как Текстовое поле, флажок и т. Д. Сохранят состояние даже после отключения состояние просмотра. Причина в том, что Этап загрузки данных обратной передачи, эти элементы управления получат информацию о состоянии из Отправленной обратно формы.

Но элементы управления, такие как ярлык, не реализовать IPostBackEventHandler IPostBackDataHandler будет не получать информацию о состоянии от отправил обратно данные и, следовательно, зависит полностью на viewstate, чтобы поддерживать состояние.

Ниже приведен абзац, связанный с вашим вопросом.

В жизненном цикле страницы два события связанный с ViewState:

  • Load View State: Этот этап следует за этапом инициализации жизненный цикл страницы. На этом этапе Информация ViewState, сохраненная в предыдущая обратная передача загружается в контроль. Поскольку нет необходимости проверять и загрузить предыдущие данные, когда страница загружается впервые это стадии не будет. На последующих обратная передача страницы, поскольку может быть предыдущие данные для элементов управления, страница пройдет через этот этап.

  • Сохранить состояние просмотра: этот этап предшествует этапу визуализации страницы. На этом этапе текущее состояние (значение) элементов управления сериализуется в 64-битная закодированная строка и сохраняется в скрытый элемент управления (__ViewState) в на странице.

  • Этап Load Postback Data: Хотя этот этап не имеет ничего общего с ViewState, это вызывает большинство заблуждение среди разработчиков. Эта этап происходит только тогда, когда на странице есть был отправлен обратно. Элементы управления ASP.NET которые реализуют IPostBackEventHandler IPostBackDataHandler обновит свое значение (состояние) из соответствующие данные обратной передачи. В важные вещи, которые следует отметить об этом stage следующие:

    1. Состояние (значение) элементов управления извлекается НЕ из ViewState, а из отправленная обратно форма.
    2. Класс страницы передаст отправленные обратно данные только тем элементы управления, которые реализуют IPostBackEventHandler IPostBackDataHandler.
    3. Этот этап следует за этапом состояния просмотра загрузки, другими словами за состоянием элементы управления, установленные во время просмотра загрузки Состояние этапа будет перезаписано в на этом этапе.
7
ответ дан 6 December 2019 в 23:10
поделиться

This is by design

The following server controls persist their information across requests even when the control ViewState (the EnableViewState attribute) is set to False:

* The TextBox control.
* The CheckBox control.
* The RadioButton control.

This behavior occurs because the ViewState of a control is only one of the methods that are used to persist a control's attributes across requests. In the server controls that are mentioned in the "Symptoms" section, attributes that are not normally posted to the server through the form-get or the form-post are handled by the ViewState. These values include attributes of the control, such as BackColor. Attributes that are normally posted to the server are handled by the IPostBackDataHandler interface. An example of such an attribute is the checked attribute of the CheckBox control.

Also read this article

ASP.NET: TextBox and EnableViewState="False"

For understanding of Viewstate I don't think there is a better article than MSDN

Understanding ASP.NET View State

3
ответ дан 6 December 2019 в 23:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: