ASP.NET状态保持:ViewState
ViewState是ASP.NET的.aspx页面特有的,是页面级的状态保持。一般用在内网系统和网站后台。
namespace WebFormTest.TestCollect
{
public partial class ViewStateTest2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//服务器端多值控件状态自动保存在页面属性ViewState中
DropDownList1.Items.Add(new ListItem("下拉1", "")); //手动向ViewState中添加值
ViewState["myKey"] = "MyData"; //值的类型需要可以被序列化的
ViewState["myKey2"] = "MyData2";
ViewState["myKey3"] = "MyData3";
} //客户端向服务器发送请求,服务器先判断Post过来的<input>标签id为__VIEWSTATE中是否有值
//有的话,会将<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJMjY1ODU1O" />的值
//先将viewstate对象反反序列化,再经过Base64编码,再输出到客户端这个隐藏域的value中
//浏览器读取时对value进行反编译然后反序列化最后输出。这个过程是自动进行的
protected void Button1_Click(object sender, EventArgs e)
{
string myData = "";
if (ViewState["myKey"] != null)
{
myData = (string)ViewState["myKey"];
}
Response.Write(myData);
}
}
}
html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server"> //需要添加form,__ViewState中的值才能被Post提交到服务器
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
<asp:TextBox ID="TextBox2"
runat="server"></asp:TextBox>
<asp:Button ID="Button1"
runat="server" Text="Button" onclick="Button1_Click" /><asp:Button ID="Button2" runat="server"
Text="按钮" />
<a href="ViewStateTest2.aspx">点击</a>
<div> </div>
</form>
</body>
</html>
aspx页面源码 :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>
无标题页
</title></head>
<body>
<form name="form1" method="post" action="ViewStateTest2.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJMjY1ODU1ODYyDxYGHgVteUtleQUGTXlEYXRhHgZteUtleTIFB015RGF0YTIeBm15S2V5MwUHTXlEYXRhMxYCAgMPZBYCAgUPEGQPFgFmFgEQBQfkuIvmi4kxBQExZ2RkZOR3mPN/Tl+LGb/Sx67gVCjC7dtv" />
</div> <div> <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="B053663F" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWBgKRwNyfCALs0bLrBgKSi6WLBgLs0fbZDAKM54rGBgK7q7GGCEiBSNc5x1r+b14S9oQGE/luT1+Z" />
</div>
<span id="Label1">Label</span>
<input name="TextBox1" type="text" id="TextBox1" />
<select name="DropDownList1" id="DropDownList1">
<option value="1">下拉1</option>
</select>
<input name="TextBox2" type="text" id="TextBox2" />
<input type="submit" name="Button1" value="Button" id="Button1" /><input type="submit" name="Button2" value="按钮" id="Button2" />
<a href="ViewStateTest2.aspx">点击</a>
<div> </div>
</form>
</body>
</html>
用工具ViewStateDecoder反编译查看隐藏域中的值如下:
aaarticlea/png;base64,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" alt="" width="660" height="573" />
ASP.NET状态保持:ViewState的更多相关文章
- [Asp.Net]状态管理(ViewState、Cookie)
简介 HTTP协议是无状态的.从客户端到服务器的连接可以在每个请求之后关闭.但是一般需要把一些客户端信息从一个页面传送给另一个页面. 无状态的根本原因是:浏览器和服务器使用Socket通信,服务器将请 ...
- 转载ASP.NET 状态管理Application,Session,Cookie和ViewState用法
转载原地址 http://www.cnblogs.com/cuishao1985/archive/2009/09/24/1573403.html ASP.NET状态管理 APPlication,Ses ...
- ASP.NET状态管理详解,让你明明白白
开发WinFrom的程序员可能不会在意维护应用程序的状态,因为WinFrom本身就在客户端运行,可以直接在内存中维护其应用程序状态.但ASP.NET应用程序在服务器端运行,客户端使用无状态的http协 ...
- ASP.NET状态管理的总结
阅读目录 开始 hidden-input QueryString Cookie ApplicationState ViewState,ControlState Session Profile 各种状态 ...
- Asp.net中的ViewState用法
Session,ViewState用法基本理论:session值是保存在服务器内存上,那么,可以肯定,大量的使用session将导致服务器负担加重. 而viewstate由于只是将数据存入到页面隐藏控 ...
- ASP.NET状态保持cookie与session
ASP.Net状态保持 一.ASP.Net中的状态保持如下图: 二.客户端的状态保持方案 ViewState.隐藏域.Cookies.控件状态.URL查询参数 ->View ...
- 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查。。。
异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 无法向会话状态服务器发出会话状态请求.请确保 ASP.NET State Ser ...
- ASP.NET 状态服务 及 session丢失问题解决方案总结
ASP.NET2.0系统时,在程序中做删除或创建文件操作时,出现session丢失问题.采用了如下方法:1.asp.net Session的实现:asp.net的Session是基于HttpModul ...
- ASP.net状态服务器使用
最近在开发一.NET4.0系统时经常发生session丢失问题,导致用户频繁登陆,给客户造成不良的用户体验.应项目经理号召尽快解决此问题. 一.问题描述. 服务器:windows server 200 ...
- 转:无法向会话状态服务器发出会话状态请求请。确保 ASP.NET State Service (ASP.NET 状态服务)已启动
今天看到一篇文章感觉不错,收藏转载下. 原文地址:http://blog.csdn.net/sntyy/article/details/2090347 版权为原作者所有 无法向会话状态服务器发出会话状 ...
随机推荐
- emacs设置代理访问插件仓库
下面这个配置适合ss (setq url-gateway-method 'socks)(setq socks-server '("Default server" "127 ...
- shell 外部传入jmeter脚本线程数,rampUp时间,持续运行时间
jmeter参数化部分参考上一篇 shell参数说明:$1线程数,$2:全部并发数rampup时间,$3:脚本持续运行时间,$4:每次脚本循环持续时间 $5:所以循环持续时间 #!/bin/bash ...
- MS Sql Server 中主从库的配置和使用介绍(转)
网站规模到了一定程度之后,该分的也分了,该优化的也做了优化,但是还是不能满足业务上对性能的要求:这时候我们可以考虑使用主从库. 主从库是两台服务器上的两个数据库,主库以最快的速度做增删改操作+最新数据 ...
- [ActionScript 3.0] AS3 实现XML转换成JSON
package com.fylib.util { /** * @author Frost.Yen * @E-mail 871979853@qq.com * @create 2015-6-18 下午2: ...
- JDBC中的PreparedStatement-防止SQL注入攻击
在JDBC对数据库进行操作的时候,SQL注入是一种常见的针对数据库的注入攻击方式.如下面的代码所演示,在我们的提交字段中掺入了SQL语句,会使得程序的登录校验失效: package org.lyk.m ...
- EXT gridGroup
Ext.define('Task', { extend: 'Ext.data.Model', idProperty: 'id', fields: [ { name: 'Customer_name', ...
- rhel5 新建用户提示:the home directory already exists.
rhel5 新建用户提示:the home directory already exists.(as4不存在这个问题) 环境如下: [oracle@rhel5 ~]$ df -hFilesystem ...
- (转)C#调用非托管Win 32 DLL
转载学习收藏,原文地址http://www.cnblogs.com/mywebname/articles/2291876.html 背景 在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使 ...
- php array函数实例应用
array_diff_key() array_diff_assoc() array_count_values() array_combine() array_column() array_chunk( ...
- 测试方法---"SFDIPOT"
SFDIPOT方法是快速测试的一种方法,可以帮助你快速理清测试点. 我粗略地想了一下,凡是面试时我遇到过的奇葩的让我测一个电梯.雨伞.电话.水杯.测一个奇怪的东西的面试题上都能用. 然后嘛,日常工作中 ...