[已关闭问题] 关于handler处理后再执行Server.Transfer
提问时间: 2008-05-13 14:56
提问时间2008/5/13 14:56:51 问题为何被关闭 浏览:145 次

一个很简单的问题,就是搞不定了

我在一个页上执行了Server.Transfer(url);

一开始都很正常.后来由于需求我增加了一个处理器.也很简单,结果就报"执行子请求时出错。"

一开始以为是处理器哪里写错了,我删除复杂的,只留下一个

System.Web.UI.PageParser.GetCompiledPageInstance(context.Request.FilePath, context.Request.PhysicalPath, context).ProcessRequest(context);.问题还是存在,我用Server.Execute也一样的错误,只有Response.Redirect()是正常的,但我希望IE里的链接地址不变,请问有什么办法?


提问者:李.net - 小虾三级
(3)
确认url写全了,不要写路径名,要写全文件名,即使是default.aspx
1个月前   回答者:玉开 - 老鸟四级
呵,我也遇到了同样的问题,后来只有改用Response.Redirect(),我的目的也是一样,只是为了不让地址栏发生变化,其实Server.Transfer()之所以地址栏不会变,也是因为其限制了只能转发虚拟目录,即相对地址,只要将Response.Redirect()也转发到相对路径去,地址栏一样也可以不变的
1个月前   回答者:w i n s o n - 菜鸟二级
这种问题以前见过,楼上的方法能解决问题!
1个月前   回答者:JackLee - 小虾三级
1个月前   李.net :
玉开:
 Server.Tranfer只能写虚拟路径的,不能写全路径。

w i n s o n:
能否说详细点。Response.Redirect好像不管是全路径还是虚拟路径,IE地址栏都会变的
1个月前   w i n s o n :
在转发时你只要写相对路径就可以了,即不要加http开头这样的完整地址,如Response.Redirect("abc/index.aspx")
   您需要登录以后才能回答!
我的问题    我要提问


快到期问题

> 问题排行榜

有不合适内容,建议去除