[待解决问题] 关于Response.Redirect的问题。
提问时间: 2008-04-01 16:55
悬赏分:10 该问题已到期 浏览:319 次
为什么我在一个程序中使用Response.Redirect无法跳转,但是用HttpContext.Current.Response.Redirect就可以了呢??
这二者啥区别?
哪位同学遇到过类似问题,谢谢回答。


问题补充:我再多说一些关于我程序的运行环境:我是在想通过asp.net和Windows Workflow Foundation来实现一个pageflow,我这里的页面跳转是由workflow instance来调用的。workflow instance 运行的时候。

所有回答(6)
是不是有其它的原因呢,这二者应该是没有区别的
1个月前   回答者:李.net - 菜鸟二级
你的问题应该是直接使用Response根本就无法编译成功,对吧?

因为Response是Page类的一个实例属性,而你的代码可能不是Page的Method,所以访问不了这个属性,只能通过HttpContext.Current.Response.Redirect来访问.

1个月前   回答者:deerchao - 老鸟四级
楼上正解
比如App_code文件夹下的类就不能直接用Response对象,只能用HttpContext.Current.Response.
1个月前   回答者:张荣华 - 小虾三级
为什么我在一个程序中使用Response.Redirect无法跳转,但是用HttpContext.Current.Response.Redirect就可以了呢??
这二者啥区别?
一样的。没有区别
1个月前   回答者:菜无罪 - 菜鸟二级
楼上正解
比如App_code文件夹下的类就不能直接用Response对象,只能用HttpContext.Current.Response.
另外原因就是 你WEB非一个线程走的,多线程会有问题的说
1个月前   回答者:搞IT的狐狸 - 初学一级
Page里面的Response其实就是HttpContext.Current.Response。
只不过Page为了使用方便,设置成属性,如:
public system.**** Response
{
get
{
   Return HttpContext.Current.Response;
}
}
对于多线程的话,我觉的是因为新唤起的线程应该是走到了Page生命周期之外,所以对于HttpContext.Current.Response已经失效了。所以会不起作用。

4天前   回答者:荒芜 - 菜鸟二级
1个月前   smwikipedia :
谢谢各位的回答,deerchao,我编译没有错误,我也做了必要的using,所以应该不是using的原因,至于你说的实例属性的问题,我再想想。
1个月前   搞IT的狐狸 :
对把??
   您需要登录以后才能回答!
我的问题    我要提问


快到期问题

> 问题排行榜

有不合适内容,建议去除