黑马程序员技术交流社区

标题: server.transfer如何在页面间传值,怎么用? [打印本页]

作者: 王伟    时间: 2011-11-29 15:15
标题: server.transfer如何在页面间传值,怎么用?
本帖最后由 王伟 于 2011-11-29 19:31 编辑

server.transfer如何在页面间传值,怎么用?
作者: 杨本国    时间: 2011-11-29 15:39
如果在两个页面间需要传递大量的参数,如数据查询等的时候,用server.transfer就有明显的优势了。用Server.Transfer迁移到另一个页面保持着服务资源。
而不是简单的通知浏览器服务端换了个页面并迁移请求。
使用这种方法的整个过程如下:
1,在页面里添加必要的控件
2,创建返回值的Get属性过程
3,创建可以返回表单的按钮和链接按钮
4,在按钮单击事件处理程序中调用Server.Transfer方法转移到指定的页面
5,在第二个页面中,我们就可以使用Context.Handler属性来获得前一个页面实例对象的引用,通过它,就可以使用存取前一个页面的控件的值了
     其实我也不是很懂这个了,这是找的一些好理解点的介绍,共同学习了。
作者: 周敏_.net    时间: 2011-11-29 16:01
Server.Transfer可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。
Server.Transfer()方式。
      Server.Transfer( "target.aspx?param1=1111&param2=2222 ")
      接收页面:   string   str   =   Request[ "param1 "]

作者: 杨楠    时间: 2011-11-29 16:18
转至另外一个页面,不同于Redirect在于:redirect会告诉浏览器说,我这没有,你再去某某页面请求,所以用redirect,用户到达目标页面会发送两次请求。
而Transfer是服务器自动将请求发送到目标页面,客户端浏览器感觉不到这个过程,所以是一次请求。
值得注意的一点是:Transfer由于是服务器帮你跳转,所以只能做站内跳转,不能帮你跳到百度去,而redirect由于是浏览器自动发起第2次请求,所以可以跳转到任何网站




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2