我想由不少人都懂得在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 。
打印 | 张贴于 2004-08-21 02:25:00 | Tag:DotNet AspNet
留言反馈
就是想灌点水。
现在有2个虚拟目录A和B
A下的文件afile想定位到B下的文件bfile
不想用response.redirect
可是server.transfer("../B/bfile")也出错
Please mail to star-fire@263.net
有什么差别?
Context.Server.Transfer("Test2.Aspx");
和
Context.Server.Transfer("Test2.Aspx?OKOK=3333");
有什么差别?
Context.Server.Transfer("Test2.Aspx");
和
Context.Server.Transfer("Test2.Aspx?OKOK=3333");
有什么差别?
这个我倒是不懂
直接使用Transfer也能传SQ值啊
1 在HttpContext.Current无法使用HttpSession对象。
我试验了许多种方法,都不行。
2 还是在HttpContext.Current里面的Handler属性可以让你直接控制当前的Page。
即:
System.Web.UI.Page page = (System.Web.UI.Page)HttpContext.Current.Handler;
是可以的,而且可以利用这个直接控制Page的内容和行为。