我有一个Response.Redirect的奇怪问题。我正在使用VB.NET和.NET 2框架(所以VS2005和SP1)。
我有一个页面,我做了一个表单提交(这是一个正确的表单方法=“POST”硬编码到页面上),并正确地将我的页面数据发回给我,然后处理。作为该处理的一部分,系统确定在处理完成之后是否需要将其发送到另一个URL。所以request.httpmethod =“POST”。
因此,如果“GotoPage”参数指定了URL,则我们执行response.redirect(URL,false)。 (因为我们希望完成页面处理以便编写一些时序日志等)。
页面正确重定向但不是响应有一个“GET”作为request.httpmethod而是有一个“POST”而不是!
现在,我们正在使用我们自己的自定义框架,以便我们使用HTTPRequest方法来确定页面是否已被回发或正在“Getted”,因此“IsPagePostBack”属性不起作用(仅在以下情况下有效)你正在使用正常的.NET控件和表单提交)。在所有其他实例中,我们的代码很愉快,但可能导致Request.httpMethod未正确设置的原因是什么?我尝试在重定向之前做一个response.clear,以防万一之前的标题被写出来但无济于事。
任何线索?!
感谢, 安迪
答案 0 :(得分:0)
如何尝试清除标题然后添加所需的标题?我认为“GET”是304?
response.clearheaders
response.appendheader("GET", 304)
response.redirect(...)
链接到MSDN上的response.appendheader。