跨页面访问ViewState
跨页面访问ViewState仅仅适用于通过Post方法或者Server.Transfer方法从一个页面重定向到另一个页面的情况,如果你使用Response.redirect方法将无法实现跨页面访问ViewState.
通过下面的一个例子来演示扩页面访问ViewState
我们创建两个页面,分别为:
1、ViewStateContainer.aspx:这个页面用来设置ViewState的值,并传递到另一个页面.
2、AccessViewState.aspx :这个页面用来访问ViewStateContainer.aspx页面传过来的ViewState对象.
ViewStateContainer.aspx页面代码如下:
public partial class ViewStateContainer : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ViewState["Page1"] = "Page1 ViewState";
Server.Transfer("AccessViewState.aspx");
}
public StateBag ReturnViewState()
{
return ViewState;
}
}
在Page_Load事件中设置了一个ViewState值,并重定向到AcessViewState.aspx页面,这个页面有一个ReturnViewState方法,返回ViewState对象,返回的类型为StateBag
StateBag类:这个类主要用来存储所有HTML和服务端控件的结构,它保存了控件的attribute/value的组合信息,并能在页面请求OnInit方法之后更新控件或页面的状态
现在看一下AccessViewState.aspx页面代码:
public partial class AccessViewState : System.Web.UI.Page
{
private StateBag PreviousPageViewState
{
get {
StateBag returnValue = null;
if (PreviousPage != null)
{
Object objPreviousPage = (Object)PreviousPage;
MethodInfo objMethod = objPreviousPage.GetType().GetMethod ("ReturnViewState");
return (StateBag)objMethod.Invoke(objPreviousPage, null);
}
return returnValue;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (PreviousPage != null)
{
if (PreviousPageViewState != null)
{
Label1.Text = PreviousPageViewState["Page1"].ToString();
}
}
}
}
通过Server.Transfer或者Post方法跳转的页面,可以通过PreviousPage属性获得前一页面的控件
在这个页面我们创建了PreviousPageViewState,通过反射的方法,执行前一页面的ReturnViewState方法,获得前一页面的ViewState(StateBag类型),这样就可以访问前一页面的所有ViewState对象了.
文章出自:http://www.codeproject.com/KB/aspnet/AccessViewState.aspx
转载于:https://www.cnblogs.com/duanqs/archive/2009/07/01/1514508.html
跨页面访问ViewState相关推荐
- PHP session跨页面访问失效问题处理
PHP session跨页面访问失效问题处理 环境 问题说明 php.ini 部分配置 检查目录权限 检查session设置 检查cookie设置 参考文章列表 环境 使用了 LNMP提供的环境,版本 ...
- 如何跨服务器访问html 页面,html页面如何跨域访问另一页面内容,并将部分内容呈现出来?...
html代码: 简介 我需要将接口界面的部分内容,显示在id为p4的块中,我自己这边服务器请求是跨域访问,如何操作? jquery ajax来完成,load()方法不能跨域,所以不能用:我自己的代码如 ...
- 利用代理页面解决html iframe跨域访问网站问题
原文:利用代理页面解决html iframe跨域访问网站问题 源代码下载地址: http://www.zuidaima.com/share/1854884509142016.htm 在做项目的时候遇到 ...
- html的页面怎样直接跨域访问,【HTML】iframe跨域访问问题
概述 本地同一浏览器访问本地HTML文件和访问服务器端HTML文件,本地Iframe没有自适应高度,而服务器端的Ifrane自适应了高度. 1.问题重现: Chrome 版本 41.0.2272.10 ...
- WebBrowser控件跨域访问页面内容
原文出处 :http://blog.csdn.net/nocky/article/details/6056802 源码出处:http://www.codecentrix.com/blog/wnd2do ...
- AJAX跨域访问解决方案
Case I. Web代理的方式 (on Server A) 即用户访问A网站时所产生的对B网站的跨域访问请求均提交到A网站的指定页面,由该页面代替用户页面完成交互,从而返回合适的结果.此方案可以解决 ...
- js跨域访问,No 'Access-Control-Allow-Origin' header is present on the requested resource
js跨域访问提示错误:XMLHttpRequest cannot load http://...... No 'Access-Control-Allow-Origin' header is prese ...
- 用P3P header解决IE下iframe跨域访问时候session丢失的问题
用P3P header解决IE下iframe跨域访问时候session丢失的问题 整合客户的登录时,或者其他一个网站通过iframe时,特别是一个http页面,访问一个https页面时,常常会sess ...
- 关于JavaScript为何要限制跨域访问
对于JavaScript限制跨域访问的原因一直不明白,因为他给我的开发过程中带来不少的麻烦,也实在想不明白JavaScript限制跨域的作用,今天带着这个疑问到开元中国提问了,没想到一个大神的解答让我 ...
最新文章
- Datawhale组队学习周报(第021周)
- github md文件里显示markdown公式的解决办法
- 和Facebook竞争,社交平台Mico怎样在1年内获得3000万用户?
- mfc 怎样动态设置static text 的可见属性
- 深入理解javascript原型和闭包(3)——prototype原型
- 中国开发者数量全球第二,C 语言一跌再跌!GitHub 年度报告重磅发布
- 计算机在经济管理中的应用,现代经济管理中计算机技术的运用
- Hadoop系列教程:服务器基础环境
- GPS模块运用: GPS模块数据提取、常规参数配置(脉冲频率、输出指定命令、定位模式等)
- candence的图纸大小设置_标准制图图纸尺寸大小
- 百度网盘分享无提取码文件的方法
- 溯光者:超简单,一文读懂显卡型号编码数字、字母怎么看,都是什么意思?
- Could not connect to SMTP host localhost port 25
- [2022 ICLR] Pyraformer: Low-Complexity Pyramidal Attention for Long-Range 时空序列建模和预测
- pandas数据清洗策略1
- android app 短信接收,Android创建简单发送和接收短信应用
- 基于人脸识别的web展示
- [Luogu4182][USACO18JAN]Lifeguards P[单调队列]
- 湖南中医药大学成考2022年下学期网络课程学习与考试工作安排
- Stratifyd入驻腾讯云市场,AI赋能品牌数字化升级
热门文章
- cmd 顺序启动服务_未能连接一个Windows服务 怎么回事
- 转载 2020-02-18 在KVM主机和虚拟机之间共享目录
- 高并发服务器开源项目,高并发服务器框架详解 - osc_qgfjs4a5的个人空间 - OSCHINA - 中文开源技术交流社区...
- 理解lua中的metatable和__index
- RPG Maker的引擎分析(一)(二)
- 用C#读取数码相片的EXIF信息(一)
- java暂停脚本_用Rhino解析Java中的JavaScript:暂停/恢复脚本
- android 来电拒接_[系统漏洞]模拟耳机广播实现来电自动接听和拒接
- premium导入后缀为db_Python 导入txt文件到mongo
- Softmax Derivation