В чем разница при использовании
- Скрытое поле vs Просмотр состояния?
- Когда использовать каждый из них?
- Какой еще более безопасный?
- Что лучше в производительности?
- Каковы альтернативы?
В чем разница при использовании
ViewState хранится в скрытом поле и содержит информацию обо всей странице. Он также может быть зашифрован. Поскольку состояние представления всегда отправляется кодовому блоку при выполнении Postbacks, это очень практично, так как вы всегда получаете значения. Недостатком является то, что он может стать действительно большим, если вы начнете вкладывать в него много информации, и производительность может начать страдать. Например, в некоторых запросах AJAX вы хотите отправлять небольшую информацию только на сервер, и если вы используете UpdatePanels, будет отправлено все ViewState, и оно будет содержать информацию, которая не нужна.
Скрытое поле можно просмотреть в исходном HTML-тексте страниц, тогда как ViewState, по меньшей мере, запутанный и в зависимости от вашей .net-версии, может быть зашифрован в различной степени.
шифрование в режиме просмотра asp.net
Скрытое поле будет лучше в производительности, но не обеспечит безопасность, и если почтовые данные могут быть обработаны, гораздо проще изменить ViewState.
Переменные сеанса являются хорошей альтернативой этим.
ViewState
внутренне использует скрытое поле. Он управляется ASP.NET Engine
и по умолчанию зашифрован.
С другой стороны, с помощью скрытого управления полем вы можете управлять тем, что в нем хранится. По умолчанию он не зашифрован.
Производительность разумна, оба они одинаковы. Но я чувствую, что ViewState
более безопасен. ASP.NET
поддерживает хэш для предотвращения/идентификации каких-либо вмешательств с его стороны клиента.
Вы также можете использовать сеанс для хранения данных.