E客开发团队-互联网架构提供服务商
设为首页 设为首页  加入收藏 加入收藏  联系我们 联系我们 
  • 首  页
  • 关于我们
  • eFrameWork框架
  • 案例鉴赏
  • 网站模板
  • 技术文档
  • 帮助中心
  • EKECMS下载
  • 在线留言
  • 联系我们
帮助中心更多...
  • 企业网站建设的重要性
  • 企业网站建设准则
  • 企业网站如何定位
  • 企业为什么要建设网站?
  • 专业术语解释
  • 选择E客开发团队有哪些优势?
  • 做网站应该注意哪些问题?
  • 做网站有哪些费用?








首 页 -> 技术文档 -> asp.net跳转页面的三种方法比较

asp.net跳转页面的三种方法比较

作者.中国E客  日期.2012-06-26  来源.www.eketeam.com  浏览.


1、 response.redirect 这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳 转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护。

但速度慢是其最大缺陷!redirect跳转机制:首先是发送一个http请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端。需要注意的是跳转后内部空间保存的所有数据信息将会丢失,所以需要用到session。

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

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

  总结:

  当需要把用户跳转到另一台服务器上的页面的时候 ,使用redirect

  当需要把用户跳转到非aspx页面时候,如html,使用redirect

  需要把查询字符串作为url一部分的时候保留传给服务器的时候,因为其他2种方法不能做到2次postback,把数据先带回服务器,使用redirect

  需要aspx页面间的转换(不涉及登录),使用transfer

  当需要把aspx页面的输出结果插入到另一个aspx页面的时候使用 execute方法。

  当然,忘记了还有一个超链接!当然这个就不需要讲太多了。他是在当需要用户来决定什么时候跳转页面,就使用超链接。

  顺便提一下,如何使用redirect方法在查询字符串中使用汉字,因为经常的情况是出现乱码,原因是url不支持汉字。这个时候需要转换:

以下是引用片段:
  string message =server.urlencode("欢迎来到赛跑专栏");


  先转换,再使用查询字符串

以下是引用片段:
  response.redirect("webform2.aspx?msg="+message);


  • 上一篇:详细介绍ASP.NET状态保存方法
  • 下一篇:C#中(添加、更新)SQL语句的书写技巧
【返回】 【顶部】 【关闭】

 ↓评论信息
暂时还没有评论!
 ↓发表评论
Name 您的姓名
Email 电子邮件

Comment 评论内容


Auth Code 验证码
 *


评论内容不能超过150个字符
 *  

所有评论只代表网友个人观点,不代表本站观点。请各位遵纪守法并注意语言文明。

CopyRight © 2010-2018 All EkeTeam.com rights reserved Template designed Technology report by EKETEAM. E客开发团队·官方网站 版权所有 
备案编号:滇ICP备18000718号-2