asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ASP.NET -- WebForm -- ViewState大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

ASP.NET -- WebForm --  ViewState

1. ViewState的作用

当 ASP .NET 中的表单被提交时,表单会随所有表单值一同重新出现。这是由于 ASP .NET 维持了您的 ViewState。

ViewState 会在页面被提交到服务器时指示其状态。通过在每张页面中的一个

新建一个Test.aspx:

BACkground-color: #ffff00; color: #000000"><%BACkground-color: #f5f5f5; color: #000000">@ Page LanguageBACkground-color: #f5f5f5; color: #000000">=BACkground-color: #f5f5f5; color: #800000">"BACkground-color: #f5f5f5; color: #800000">C#BACkground-color: #f5f5f5; color: #800000">"BACkground-color: #f5f5f5; color: #000000"> AutoEventWireupBACkground-color: #f5f5f5; color: #000000">=BACkground-color: #f5f5f5; color: #800000">"BACkground-color: #f5f5f5; color: #800000">trueBACkground-color: #f5f5f5; color: #800000">"BACkground-color: #f5f5f5; color: #000000"> CodeFileBACkground-color: #f5f5f5; color: #000000">=BACkground-color: #f5f5f5; color: #800000">"BACkground-color: #f5f5f5; color: #800000">Test.aspx.csBACkground-color: #f5f5f5; color: #800000">"BACkground-color: #f5f5f5; color: #000000"> InheritsBACkground-color: #f5f5f5; color: #000000">=BACkground-color: #f5f5f5; color: #800000">"BACkground-color: #f5f5f5; color: #800000">TestBACkground-color: #f5f5f5; color: #800000">"

<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  (但是这样做,会导致工具箱的控件不能用),如下图:

BACkground-color: #ffff00; color: #000000"><%BACkground-color: #f5f5f5; color: #000000">@ Page LanguageBACkground-color: #f5f5f5; color: #000000">=BACkground-color: #f5f5f5; color: #800000">"BACkground-color: #f5f5f5; color: #800000">C#BACkground-color: #f5f5f5; color: #800000">"BACkground-color: #f5f5f5; color: #000000"> AutoEventWireupBACkground-color: #f5f5f5; color: #000000">=BACkground-color: #f5f5f5; color: #800000">"BACkground-color: #f5f5f5; color: #800000">trueBACkground-color: #f5f5f5; color: #800000">"BACkground-color: #f5f5f5; color: #000000"> CodeFileBACkground-color: #f5f5f5; color: #000000">=BACkground-color: #f5f5f5; color: #800000">"BACkground-color: #f5f5f5; color: #800000">Test.aspx.csBACkground-color: #f5f5f5; color: #800000">"BACkground-color: #f5f5f5; color: #000000"> InheritsBACkground-color: #f5f5f5; color: #000000">=BACkground-color: #f5f5f5; color: #800000">"BACkground-color: #f5f5f5; color: #800000">TestBACkground-color: #f5f5f5; color: #800000">"

<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: #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,请注明来意。
标签: