维持 ViewState (视图状态)
当 classic ASP 中的表单被提交时,所有的表单值都会被清空。设想一下,您提交了一张带有大量信息的表单,而服务器返回了一个错误。您将不得不返回表单,然后更正其中的信息。您点击后退按钮,然后会发生什么呢... 所有的表单值都被清空了,而您将不得不重新开始所有的一切。站点不会维持您的 ViewState。
当 ASP .NET 中的表单被提交时,表单会随所有表单值一同重新出现。如何做到的呢?这是由于 ASP .NET 维持了您的 ViewState。ViewState 会在页面被提交到服务器时指示其状态。通过在每张页面中的一个 <form runat="server"> 控件中放置一个隐藏域,我们就可以定义页面的状态了。源代码可能类似这样:
<form name="_ctl0" method="post" action="page.aspx" id="_ctl0">
<input type="hidden" name="__VIEWSTATE"
value="dDwtNTI0ODU5MDE1Ozs+ZBCF2ryjMpeVgUrY2eTj79HNl4Q=" />
.....some code
</form>
维持 ViewState 是 ASP.NET Web 表单的默认设置。如果您不希望维持 ViewState,请在 .aspx 页面的顶部包含指令: <%@ Page EnableViewState="false" %>,或为任意控件添加属性:EnableViewState="false"。
请看下面的 .aspx 文件。它演示了老的运行方式。当您单击提交按钮时,表单值就会消失:
<html>
<body>
<form action="demo_classicasp.aspx" method="post">
Your name: <input type="text" name="fname" size="20">
<input type="submit" value="Submit">
</form>
<%
dim fname
fname=Request.Form("fname")
If fname<>"" Then
Response.Write("Hello " & fname & "!")
End If
%>
</body>
</html>
这是新的 ASP .NET 方式。当您点击提交按钮时,表单值不会消失:
<script runat="server">
Sub submit(sender As Object, e As EventArgs)
lbl1.Text="Hello " & txt1.Text & "!"
End Sub
</script>
<html>
<body>
<form runat="server">
Your name: <asp:TextBox id="txt1" runat="server" />
<asp:Button OnClick="submit" Text="Submit" runat="server" />
<p><asp:Label id="lbl1" runat="server" /></p>
</form>
</body>
</html>
分享到:
相关推荐
viewstate 视图状态反编码 解释asp.net的viewstate信息。
viewstate:ASP.NET视图状态解码器
如果在客户端和服务器段保持往返的状态,在.net中通过加入一个隐藏控件_ViewState来实现的,这些状态的保持不需要程序员来控制,节省了程序员的精力。但是如果大量使用viewstate会影响性能,例如页面中控件过多,那么...
统计VIEWSTATE长度-计算百分比UI-扩展按钮上显示的百分比-基于阈值的红色-琥珀色-绿色,您可以配置选项-琥珀色的阈值(默认10,000个字符)-红色的阈值(默认20,000个字符)更新-v1.1添加了对视图状态分块的支持 ...
asp.net中html页面含有viewstate页面状态,说实话很难看,所以尝试把它保存在服务器端,只是一个思路例子,希望对大家有所帮助。
它只是一个视图状态检测器,找到后会在右上角添加一个徽标。 (Viewstate由运行在MS WebForms上的网站(例如Sharepoint,Episerver等)产生。您可以在https://github.com/peppelorum/ViewStateDetector中找到源代码...
VIEWSTATE插件
(1、默认情况下ASP.Net是启用ViewState的,这样在页面中会生成冗长的隐藏字段,ViewState对于需要PostBack处理的页面才可能有用,对于新闻展示页面不需要交互完全没必要用ViewState。 (2、禁用ViewState的方式:•...
在asp.net中viewstate是网页状态保持的一项重要技术手段,ViewState 代码查看器 能够很方便的查看状态,方便调试和开发.
查看ViewState数据,了解VIEWSTATE机制是一款程序猿常常用到的编程辅助工具,具有保存字符串信息的功能,该软件体积非常小的ViewState解析工具
viewstate详解,详细阐述了viewstate的用法及其作用。
ASP.NET ViewState 初探
反编译前辈上传的ViewState解析工具。 想深入了解VIEWSTATE机制,可以下载源码来看看。
理解ASP.NET的ViewState MSDN资料
.net ViewState解码器,对研究viewState非常有用
asp.net 2.0中通过压缩ViewState 支持ajax压缩ViewState
一款非常方便的ViewState查看工具。 ViewState与HiddenField 我们都知道asp.net的服务端控件在呈现到浏览器的时候生成的代码还是HTML代码,但为何它就行保存上次输入的值呢? 在设计的时候我们写一句...
ViewState 查看工具,把 asp.net的ViewState内容转化出来。
input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJMjgzMDgzOTgzZGTK+g48a8tfAcXS7AaRfL/dvsvLTw==" /> 用来存放可转换为字符串格式的信息,主要存放页面上 Web 控件中数据的状态,主要...