什么是ASP.NET中的ViewState?

use*_*965 1 .net asp.net viewstate

谁能尽可能简洁地解释ViewState(在ASP.NET中)?

MAS*_*AS1 5

ViewState 是一种允许在页面回发之间保留状态值的机制。

网络是无状态的。但是在ASP.NET中,页面状态会自动保留在页面本身中。这是使用ViewState完成的。在ViewState中,值以64为基数编码,并保存在隐藏的控件中。

当您查看使用ViewState的页面的页面源(在浏览器中)时,您可能会看到此隐藏的ViewState输入,看起来像这样:

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTM1ODM3Nj......." /> 
Run Code Online (Sandbox Code Playgroud)

这个单一的隐藏字段包含所有页面控件的所有viewstate值。

由于ViewState(默认情况下)已发送到客户端浏览器,然后以页面上的隐藏输入控件的形式返回给服务器,因此在ViewState中存储大量数据会增加页面大小并影响页面性能。

若要禁用控件的ViewState,可以将EnableViewState属性设置为false。