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

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....