热门文章
- 如何将某网站加入受信任的站点 (3191)
- windows server 2008 iis7.0 如何发布asp.net MVC2.0网站? (2747)
- 什么是索书号及索书号的构成 (2505)
- 中小学图书馆馆藏分类比例表 (2276)
- 读者借阅率 (2243)
- 世界著名大学图书馆——哈佛大学图书馆 (2132)
- 图书馆设备和管理要求 (2081)
- 图书馆条码知识介绍 (2049)
- 图书流通率 (1952)
- 优秀图书馆管理员职责 (1938)
热门下载
- DELL poweredge 2950 服务器网卡驱动下载 (4078)
- .NET3.5SP1精简安装版下载2.82MB (3030)
- IEWebControls安装包树控件下载 (2794)
- DELL poweredge 2950 服务器阵列卡(RAID)驱动下载 (2178)
- SQLServer2000 企业管理器绿色版 (1693)
- 长江文艺出版社marc数据 (1644)
- 上海锦绣出版社marc数据 (1592)
- 北方妇儿出版社marc数据 (1557)
- Microsoft .NET Framework 4 中文版 (1341)
- 椒江二中最新编目的Marc数据 (1336)
ASP.NET画面跳转实现及其传值问题解决方案
发布时间:2011/3/24 11:15:53 , 浏览次数:805
asp.net web画面跳转的方法如下:
1.Server.Execute
Server.Execute并不能完全算是画面跳转方法,它是实现动态调用页面并渲染其内容反映到当前页面的方法,之所以放在这里是想与Server.Transfer等做一个比较。使用场景主要是有“包含”关系的页面进行动态调用的时候,例如WebForm2.aspx作为WebForm1.aspx的一部分表示在后者的画面中,则可通过在WebForm1适当的位置声明< % Server.Execute("~/WebForm2.aspx") %>实现。
2.Server.Transfer
最节省资源的画面跳转方式,可保存前画面的URL查询字符串和表单信息,可在跳转目标画面中使用PreviousPage查询跳转前画面属性。Server.Transfer过程中没有发生HTTP请求,所以不会被HTTP Module和HTTP Handler捕捉到,无法写处理器;其本质是在服务器端直接进行页面“切换”,所以也就有客户端URL显示不正确,引发一系列的问题,如:URL相对路径问题、Sitemap问题等。
3.Response.Redirect
此命令将直接在次返回到客户端通过URL重定向到跳转目标页面,比Server.Transfer多了一次客户端和服务器端之间的往返,因为是纯粹URL重定向无法保存前画面状态,传值一般使用URL查询字符串或Session传值。
4.PostbackUrl属性
以HTTP POST方式请求下一个画面,可以保存跳转前画面状态,问题是POST发生于客户端,无法在服务器端实现验证和取消跳转的逻辑。
5.HTML链接
URL重定向,缺点与PostbackUrl一样发生在客户端只能通过URL查询字符串进行传值。
asp.net web画面跳转的传值方法如下:
1.URL传值
因为URL长度限制,所以无法传送大量数据。对于敏感数据需要进行加密。
2.表单HTTP POST传值
以HTTP POST方式将表单属性传回到服务器端,能够保存前画面状态,可以通过PreviousPage属性进行查询。
3.PreviousPage属性传值
其实就是使用Server.Transfer和HTTP POST方式的画面跳转会把表单内容推送到服务器端,所以跳转后可以通过此属性获得前画面信息。
4.Session传值
代价比较大的方式,需要注意Session变量的生命周期在不需要的时候显式注销对象;对于集群之间的数据共享有很好的解决方案,但是把Session变量保存在数据库中要有慢25%的代价,这就需要考虑Web服务器和数据库服务器的性能。
以上,便介绍了asp.net web画面跳转的实现以及传值问题的解决方法。