加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET -- WebForm -- ViewState

发布时间:2020-12-15 21:25:49 所属栏目:asp.Net 来源:网络整理
导读:ASP.NET -- WebForm --? ViewState 1. ViewState的作用 当 ASP .NET 中的表单被提交时,表单会随所有表单值一同重新出现。这是由于 ASP .NET 维持了您的 ViewState。 ViewState 会在页面被提交到服务器时指示其状态。通过在每张页面中的一个 新建一个Test.as

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">>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隐藏域的存在:

?

2. ViewState的开启和关闭

维持 ViewState 是 ASP.NET Web 表单的默认设置。

如果您不希望维持 ViewState,请在 .aspx 页面的顶部包含指令: <%@ Page EnableViewState="false" %>,或为任意控件添加属性:EnableViewState="false"。

整个页面关闭ViewState:

单个控件关闭ViewState:

把EnableViewState="false",在浏览器--开发者工具,还是可以看见隐藏域__ViewState的。

如果想彻底去掉隐藏域__ViewState,必须将runat="server"去掉,换成action? (但是这样做,会导致工具箱的控件不能用),如下图:

<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">>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被去掉了

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读