Server.Transfer,Response.Redirect的区别;使用HttpContext.RewritePath来配合Server.Transfer/Execute
来源:互联网 发布:黑暗之魂世界观知乎 编辑:程序博客网 时间:2024/05/16 19:36
使用HttpContext.RewritePath来配合Server.Transfer/Execute
我想由不少人都懂得在Applicaton_Start等事件中使用HttpContext.RewritePath来改变HttpHandler。
如果在Server.Transfer/Execute的调用前,使用RewritePath,更可以起到指定QueryString的效果。
例如
Context.RewritePath("AA.Aspx","","OKOK=3333");
Context.Server.Transfer("Test2.Aspx");
这样,就能执行Test2.Aspx,并且QueryString是OKOK=3333。
这个用途特别大。我目前用这个方法来避免使用Response.Redirect。
Server.Transfer,Response.Redirect的区别
Server.Transfer(ASP 3.0 以上) 和 Response.Redirect 在以前的 ASP 中就存在了,Page.Navigate 是 ASP.NET Beta 1 提供的新功能,它们之间的区别在于:
1、Server.Transfer - 用于把处理的控制权从一个页面转移到另一个页面,在转移的过程中,没有离开服务器,内部控件(如:request, session 等)的保存的信息不变,因此,你能从页面 A 跳到页面 B 而不会丢失页面 A 中收集的用户提交信息。此外,在转移的过程中,浏览器的 URL 栏不变。
2、Response.Redirect - 发送一个 HTTP 响应到客户端,告诉客户端跳转到一个新的页面,客户端再发送跳转请求到服务器。使用此方法时,将无法保存所有的内部控件数据,页面 A 跳转到页面 B,页面 B 将无法访问页面 A 中 Form 提交的数据。
3、Page.Navigate - Page.Navigate 实现的功能和 Response.Redirect 差不多,它实际上包括三个步骤:首先调用 Response.Redirect,其次依次卸载所有的控件,最后调用 Response.End。
特别要注意的是:在 .NET Beta 2 中,Microsoft 将不再包括 Page.Navigate 这个功能,大家应该现在就用 Response.Redirect 来代替 Page.Navigate,以节省将来升级时的时间。
- Server.Transfer,Response.Redirect的区别;使用HttpContext.RewritePath来配合Server.Transfer/Execute
- 使用 HttpContext.RewritePath 来配合 Server.Transfer/Execute (转)
- Response.Redirect():Server.Transfer(): Server.Execute区别
- Response.Redirect ,Server.Transfer ,Server.Execute, 的区别(比较)
- Response.Redirect(),Server.Transfer(),Server.Execute()的区别
- Response.Redirect(),Server.Transfer(),Server.Execute()的区别
- Response.Redirect(),Server.Transfer(),Server.Execute()的区别
- Response.Redirect(),Server.Transfer(),Server.Execute()的区别
- [转]Response.Redirect() Server.Transfer() Server.Execute()的区别
- Response.Redirect,Server.Execute和Server.Transfer的区别
- Response.Redirect(),Server.Transfer(),Server.Execute()的区别
- Response.Redirect(),Server.Transfer(),Server.Execute()的区别
- Response.Redirect(),Server.Transfer(),Server.Execute()的区别
- Response.Redirect ,Server.Transfer ,Server.Execute, 的区别(比较)
- Response.Redirect(),Server.Transfer(),Server.Execute()的区别
- Response.Redirect(),Server.Transfer(),Server.Execute()的区别
- Response.Redirect()和Server.Transfer()和Server.Execute()的区别
- Response.Redirect()|Server.Transfer|Server.Execute详细
- 不需要应用服务器的J2EE
- 分页
- 分页
- RegisterClientScriptBlock的使用
- 微软中国社区-HOOK专题
- Server.Transfer,Response.Redirect的区别;使用HttpContext.RewritePath来配合Server.Transfer/Execute
- 上帝的需求是什么?--谈软件的需求设计
- 终于注册了我的blog
- 微软建议的ASP性能优化28条守则
- 关于无法阅读CHM文件的解决方法
- C#.NET 常用函数详解
- 一段生成linux passwd的perl脚本
- 博客广告联盟,让博客也像作家一样赚钱
- 我来调侃中国的软件公司,呵呵