无痕客

落花无情,流水无痕……

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  页面重定向的方法通常有如下三种:

  1.Response.Redirect("Url");

  2.Server.Transfer("URL");

  3.Server.Excute("URL")

  与最常见的Response.Redirct("URL")相比Server.Transfer("URL")有三个优点一

  优点:

  一、它在服务器端直接重定向,不用像response.Redirect一样先与浏览器通信再重定向,效率高。

 

  二、它可以传递上一个页面的提交值。比如:A页面提交值到B页面,B页面Transfer到C页面,C页面同样可以收到A页面提交的值。

  三、可以隐藏url。

  缺点:(2005-1-10修改)

  不能刷新页面,比如:A页面提交登录信息到B页面,B页面处理后Transfer再到A,A页面得不到刷新,指定了过期也不行。如果A、B页面不在同一个目录下,我们还会发现更多意想不到的结果,使用相对链接的图片、超链接的指向都改变了,造成这种原因是B页面读取A页面内容却以B页面的身份输出,所以路径改变了。

  在asp.net中有四种页面跳转导航方式,该如何为你的页面选择一个呢?   

  ·如果要让用户来决定何时转换页面以及转到哪一个页面,超级链接最适合。

 

   ·如果要用程序来控制转换的目标,但转换的时机由用户决定,使用Web服务器的HyperLink控件,动态设置其NavigateUrl属性。

   ·如果要把用户连接到另一台服务器上的资源,使用Response.Redirect。

   ·用Response.Redirect把用户连接到非ASPX的资源,例如HTML页面。

   ·如果要将查询字符串作为URL的一部分保留,使用Response.Redirect。

   ·如果要将执行流程转入同一Web服务器的另一个ASPX页面,应当使用Server.Transfer而不是Response.Redirect,因为Server.Transfer能够避免不必要的网络通信,从而获得更好的性能和浏览效果。

 

转载自:http://www.fengfly.com/plus/view-80980-1.html

posted on 2009-11-11 23:23  无痕客  阅读(851)  评论(0编辑  收藏  举报