当前位置:编程学习 > C#/ASP.NET >>

asp.net运行之后的HTML页面,查看源文件的时候,为什么有这么一段?

答案:ViewState 用于维护页面的 UI 状态,它是由 ASP.NET 页面框架管理的一个隐藏的窗体字段。当 ASP.NET 执行某个页面时,该页面上的 ViewState 值和所有控件将被收集并格式化成一个编码字符串,然后被分配给隐藏窗体字段的值属性(即 )。由于隐藏窗体字段是发送到客户端的页面的一部分,所以 ViewState 值被临时存储在客户端的浏览器中。如果客户端选择将该页面回传给服务器,则 ViewState 字符串也将被回传。在上面的图中可以看到 ViewState 窗体字段及其回传的值。回传后,ASP.NET 页面框架将解析 ViewState 字符串,并为该页面和各个控件填充 ViewState 属性。然后,控件再使用 ViewState 数据将自己重新恢复为以前的状态。关于 ViewState 还有三个值得注意的小问题。 如果要使用 ViewState,则在 ASPX 页面中必须有一个服务器端窗体标记 ()。窗体字段是必需的,这样包含 ViewState 信息的隐藏字段才能回传给服务器。而且,该窗体还必须是服务器端的窗体,这样在服务器上执行该页面时,ASP.NET 页面框架才能添加隐藏的字段。 页面本身将 20 字节左右的信息保存在 ViewState 中,用于在回传时将 PostBack 数据和 ViewState 值分发给正确的控件。因此,即使该页面或应用程序禁用了 ViewState,仍可以在 ViewState 中看到少量的剩余字节。 在页面不回传的情况下,可以通过省略服务器端的 标记来去除页面中的 ViewState。
其他:视图状态,这是ASP.NET的基础
http://msdn.microsoft.com/zh-cn/library/75x4ha6s.aspx

使用的服务器端控件越多,这种base64编码的代码就越多,看下下面的建议
http://msdn.microsoft.com/zh-cn/library/z1hkazw7.aspx 

上一个:在html网页编程中怎样把submit类型的按钮做成超链接,急需!希望各位帮帮小弟,我先谢谢大家。
下一个:flash中动态文本框输出html代码

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,