大佬教程收集整理的这篇文章主要介绍了ASP.NET -- WebForm -- ViewState,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
ASP.NET -- WebForm -- ViewState
1. ViewState的作用
当 ASP .NET 中的表单被提交时,表单会随所有表单值一同重新出现。这是由于 ASP .NET 维持了您的 ViewState。
ViewState 会在页面被提交到服务器时指示其状态。通过在每张页面中的一个
新建一个Test.aspx:
<span style="color: #0000ff"><!<span style="color: #ff00ff">DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"<span style="color: #0000ff">>
<span style="color: #0000ff"><<span style="color: #800000">html <span style="color: #ff0000">xmlns<span style="color: #0000ff">="http://www.w3.org/1999/xhtml"<span style="color: #0000ff">> <span style="color: #0000ff"><<span style="color: #800000">head <span style="color: #ff0000">runat<span style="color: #0000ff">="server"<span style="color: #0000ff">> <span style="color: #0000ff"><<span style="color: #800000">title<span style="color: #0000ff">>@H_430_13@my Test Aspx<span style="color: #0000ff"></<span style="color: #800000">title<span style="color: #0000ff">> <span style="color: #0000ff"></<span style="color: #800000">head<span style="color: #0000ff">> <span style="color: #0000ff"><<span style="color: #800000">body<span style="color: #0000ff">> <span style="color: #0000ff"><<span style="color: #800000">form <span style="color: #ff0000">id<span style="color: #0000ff">="form1"<span style="color: #ff0000"> runat<span style="color: #0000ff">="server"<span style="color: #0000ff">> <span style="color: #0000ff"><<span style="color: #800000">div<span style="color: #0000ff">> <span style="color: #0000ff"><<span style="color: #800000">asp:Button <span style="color: #ff0000">ID<span style="color: #0000ff">="Button1"<span style="color: #ff0000"> runat<span style="color: #0000ff">="server"<span style="color: #ff0000"> Text<span style="color: #0000ff">="Button" <span style="color: #0000ff">/> <span style="color: #0000ff"></<span style="color: #800000">div<span style="color: #0000ff">> <span style="color: #0000ff"></<span style="color: #800000">form<span style="color: #0000ff">> <span style="color: #0000ff"></<span style="color: #800000">body<span style="color: #0000ff">> <span style="color: #0000ff"></<span style="color: #800000">html<span style="color: #0000ff">>
在浏览器--开发者工具可看到ViewState隐藏域的存在:
title="ASP.NET -- WebForm -- ViewState" alt="ASP.NET -- WebForm -- ViewState" src="https://cn.js-code.com/res/2019/02-06/23/9ea57d6213dc691788f329068d2b06ca.png" >
2. ViewState的开启和关闭
维持 ViewState 是 ASP.NET Web 表单的默认设置。
如果您不希望维持 ViewState,请在 .aspx 页面的顶部包含指令: <%@ Page EnableViewState="false" %>,或为任意控件添加属性:EnableViewState="false"。
整个页面关闭ViewState:
title="ASP.NET -- WebForm -- ViewState" alt="ASP.NET -- WebForm -- ViewState" src="https://cn.js-code.com/res/2019/02-06/23/8f879531a964fe2daafaf03faedd0d8b.png" >
单个控件关闭ViewState:
title="ASP.NET -- WebForm -- ViewState" alt="ASP.NET -- WebForm -- ViewState" src="https://cn.js-code.com/res/2019/02-06/23/9ae5ed4d0b92079ca62d4a62575c034e.png" >
把EnableViewState="false",在浏览器--开发者工具,还是可以看见隐藏域__ViewState的。
如果想彻底去掉隐藏域__ViewState,必须将runat="server"去掉,换成action (但是这样做,会导致工具箱的控件不能用),如下图:
<span style="color: #0000ff"><<span style="color: #800000">html <span style="color: #ff0000">xmlns<span style="color: #0000ff">="http://www.w3.org/1999/xhtml"<span style="color: #0000ff">> <span style="color: #0000ff"><<span style="color: #800000">head<span style="color: #0000ff">> <span style="color: #0000ff"><<span style="color: #800000">title<span style="color: #0000ff">>@H_430_13@my Test Aspx<span style="color: #0000ff"></<span style="color: #800000">title<span style="color: #0000ff">> <span style="color: #0000ff"></<span style="color: #800000">head<span style="color: #0000ff">> <span style="color: #0000ff"><<span style="color: #800000">body<span style="color: #0000ff">> <span style="color: #0000ff"><<span style="color: #800000">form <span style="color: #ff0000">action<span style="color: #0000ff">="Test.aspx"<span style="color: #ff0000"> method<span style="color: #0000ff">="post"<span style="color: #0000ff">> <span style="color: #0000ff"><<span style="color: #800000">div<span style="color: #0000ff">> <span style="color: #0000ff"><<span style="color: #800000">input <span style="color: #ff0000">type<span style="color: #0000ff">="text"<span style="color: #ff0000"> name<span style="color: #0000ff">="txtName"<span style="color: #0000ff">/> <span style="color: #0000ff"></<span style="color: #800000">div<span style="color: #0000ff">> <span style="color: #0000ff"></<span style="color: #800000">form<span style="color: #0000ff">> <span style="color: #0000ff"></<span style="color: #800000">body<span style="color: #0000ff">> <span style="color: #0000ff"></<span style="color: #800000">html<span style="color: #0000ff">>
浏览器开发者工具中可清楚看见,隐藏域__ViewState被去掉了
title="ASP.NET -- WebForm -- ViewState" alt="ASP.NET -- WebForm -- ViewState" src="https://cn.js-code.com/res/2019/02-06/23/45cac5978eaadf6b05eaeebef7fe4dee.png" >
以上是大佬教程为你收集整理的ASP.NET -- WebForm -- ViewState全部内容,希望文章能够帮你解决ASP.NET -- WebForm -- ViewState所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。