什么是ViewState?它是如何编码的?它加密了吗?谁使用ViewState?

Nas*_*loo 13 html asp.net viewstate xhtml encoding

什么是ViewState?它是如何编码的?它加密了吗?谁使用ViewState?

Sud*_*han 12

视图状态是一种哈希映射(或者至少你可以这么想),ASP.NET用它来存储关于页面的所有临时信息 - 比如每个选择框中当前选择的选项,有什么值在每个文本框中,哪个面板是打开的,等等.您还可以使用它来存储任意信息.

整个地图被序列化并加密编码并保存在隐藏变量中,只要您在需要服务器往返的页面上执行任何操作,该变量就会发布回服务器.这是您可以从服务器代码访问控件上的值的方法.如果更改服务器代码中的任何值,则会在视图状态中进行更改并将其发送回浏览器.

请注意您在视图状态中存储了多少信息,但是......它很快就会变得臃肿,并且每次都很慢地转移到服务器并返回.

至于加密,我不知道它有多强,但它肯定不易于人类阅读.不过,我不会将它用于敏感信息.正如评论中指出的那样,它根本没有加密.只是基础编码,这很容易逆转.

  • 默认情况下它没有加密...它可以像另一个发布的那样,达林说.我觉得这也是很久了!尝试将_VIEWSTATE隐藏字段复制到base64解码器中,您将看到内容. (3认同)

Run*_*une 10

如果你真的想要了解 ViewState(不仅仅是它用于什么),那么你可能想要阅读这篇神话般的文章(不幸的是,我不是作者:-).但要注意,它有点陈旧,但仍然是一个非常好的阅读.