您的位置:首页 > 编程语言 > ASP

[.Net码农]关于asp.net三种重定向方法的总结

2015-07-23 16:22 507 查看
作品来源:http://leonardleonard.javaeye.com/blog/276612

asp.net三种重定向方法的总结


(1)Server.Transfer方法:

Server.Transfer("m2.aspx");//页面转向(服务器上执行).

服务器停止解析本页,保存此页转向前的数据后,再使页面转向到m2.aspx,

并将转向前数据加上m2.aspx页结果返回给浏览器.



(2)Server.Execute方法:

Server.Execute("m2.aspx");

服务器保存此页转向前的数据后,使页面转向到m2.aspx执行,

再返回本页继续执行.再将三者结果合并后返回给浏览器.

以上都是服务器端页面转向所以浏览器不出现页更改记录(显示的地址不会改变).

因此,如果用户刷新此页,也许会出现一些其它意外情况.

此类页转向,可完成一些其它功能,比如访问到前一页面中的服务端控件.



(3)Response.Redirect:

当浏览器请求aspx页面时,碰到Redirect(url)方法,

相当于告诉浏览器,你先需访问某页面,于是浏览器再向服务器发送一个到此页面的请求.

重定位是通过浏览器执行的,在服务器和浏览器之间会产生额外的往返过程。

在网络状况不是很好的情况下,两次请求会大大的

降低应用程序的反应速度,甚至占用多余的带宽.



总结:

在网络状态较好的情况下,Redirect(url)方法效率最高!!

Server.Transfer方法和Server.Execute方法最灵活!!

Server.Execute方法占用资源最多.

[CMS建站]ASP.NET重定向方法异同比较



  

  重定向是通过各种的方法将各种网络请求重新定个方向转到其它位置。当网页扩展名把.net改成.Html或.xhtml,在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失。为了避免这样的情况发生,网站就要进行重定向,本文主要介绍CMS系统三种重定向方法,以及他们的优缺点。

  ASP.NET客户端重定向方法

  Response.Redirect:当浏览器请求aspx页面时,碰到Redirect(url)方法, 相当于告诉浏览器,你先需访问某页面,于是浏览器再向服务器发送一个到此页面的请求。重定位是通过浏览器执行的,在服务器和浏览器之间会产生额外的往返过程。在网络状况不是很好的情况下,两次请求会大大的降低应用程序的反应速度,甚至占用多余的带宽。总结, 在网络状态较好的情况下,Redirect(url)方法效率最高!! Server.Transfer方法和Server.Execute方法最灵活!! Server.Execute方法占用资源最多。

  ASP.NET服务器端重定向方法

  1.Server.Execute方法:Server.Execute("m2.aspx"); 服务器保存此页转向前的数据后,使页面转向到m2.aspx执行, 再返回本页继续执行.再将三者结果合并后返回给浏览器.

  2.Server.Transfer方法:Server.Transfer("m2.aspx");//页面转向(服务器上执行)。服务器停止解析本页,保存此页转向前的数据后,再使页面转向到m2.aspx, 并将转向前数据加上m2.aspx页结果返回给浏览器。

  ASP.NET重定向方法异同比较

  1、response.redirect

  因为它要走2个来回,但他可以跳转到任何页面,这个跳转页面的方法跳转的速度愉快。没有站点页面限制同时不能跳过登录保护。但速度慢是其最大缺陷! redirect 跳转机制:首先是发送一个 http 请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端。需要注意的跳转后内部空间保管的所有数据信息将会丢失,所以需要用到session。

  2、sever.execute

  他必需是跳转同一站点下的页面。这个方法是需要将一个页面的输出结果拔出到另一个aspx页面的时候使用,这个方法主要是用在页面设计上面。大部分是表格中,将某一个页面类似于嵌套的方式存在于另一页面。

  3、server.transfer

  只需要一次postback, 速度快。但是必需是同一个站点下,因为它server一个方法。另外,能跳过CMS系统的登录保护。可以写个小程序试试:设计一个由页面一到页面二的跳转,但要进入到页面二需要登录,form认证,但如果跳转语句使用transfer话,那就不会弹出登录页面了这个方法的重定向请求是发生在服务器端,所以浏览器的
url 地址仍然保存的原页面的地址!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: