在HTTP协议里
有
Http Status Code,比如200,表示请求的资源已正确返回
404表示请求的资源不存在,等等……
在asp.net的Response类中有Redirect()方法,它会向浏览器发送一个302的status code,
同时还会发送一段代码让浏览器去解析,浏览器解析完后,会自动转向到新的页面
这个过程以及这段信息在浏览器端是不可见的,我们能看到的就只是一个单纯的转向。
但我却遇到用Response.Redirect()时,在浏览器上出现下面的文字:
Object Moved To Here
然后静止不动了,也就是,浏览器接收到了302的状态请求,但它却无法跳转。
在浏览器中查看源代码时,代码中的链接也正确,但为何不能自动跳转?
Google了一下,发现这个问题ms也提到了:
http://support.microsoft.com/kb/888418
似乎是一个bug,但以前一直这样用也没出过问题,况且我用的是.Net 2.0并非1.1
在asp里好像可以设置response.buffer="true"来解决。
asp.net这个问题我倒是第一次遇到,不知用什么方案来解决。