A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王伟 黑马帝   /  2011-11-29 15:15  /  2865 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王伟 于 2011-11-29 19:31 编辑

server.transfer如何在页面间传值,怎么用?

评分

参与人数 1技术分 +1 收起 理由
李荣壮 + 1

查看全部评分

3 个回复

倒序浏览
如果在两个页面间需要传递大量的参数,如数据查询等的时候,用server.transfer就有明显的优势了。用Server.Transfer迁移到另一个页面保持着服务资源。
而不是简单的通知浏览器服务端换了个页面并迁移请求。
使用这种方法的整个过程如下:
1,在页面里添加必要的控件
2,创建返回值的Get属性过程
3,创建可以返回表单的按钮和链接按钮
4,在按钮单击事件处理程序中调用Server.Transfer方法转移到指定的页面
5,在第二个页面中,我们就可以使用Context.Handler属性来获得前一个页面实例对象的引用,通过它,就可以使用存取前一个页面的控件的值了
     其实我也不是很懂这个了,这是找的一些好理解点的介绍,共同学习了。

评分

参与人数 1技术分 +1 收起 理由
朱勋 + 1

查看全部评分

回复 使用道具 举报
Server.Transfer可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。
Server.Transfer()方式。
      Server.Transfer( "target.aspx?param1=1111&param2=2222 ")
      接收页面:   string   str   =   Request[ "param1 "]

评分

参与人数 1技术分 +1 收起 理由
朱勋 + 1

查看全部评分

回复 使用道具 举报
转至另外一个页面,不同于Redirect在于:redirect会告诉浏览器说,我这没有,你再去某某页面请求,所以用redirect,用户到达目标页面会发送两次请求。
而Transfer是服务器自动将请求发送到目标页面,客户端浏览器感觉不到这个过程,所以是一次请求。
值得注意的一点是:Transfer由于是服务器帮你跳转,所以只能做站内跳转,不能帮你跳到百度去,而redirect由于是浏览器自动发起第2次请求,所以可以跳转到任何网站
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马