2009-05-28 40 views
3

我们在工作不一致的页面上有一个简单的Response.Redirect(IIS 6.0)。大多数情况下,它的重定向都是正确的,但是我们得到的一些用户抱怨说,他们没有重定向,而是将“302对象移到这里”页面。该页面显示正确位置的标题信息。如果您点击“此处”,它会重定向到正确的页面。Response.Redirect不总是重定向

任何想法为什么它会偶尔显示302消息?

+0

它是浏览器特定的吗? – shahkalpesh 2009-05-28 19:18:02

+0

它似乎不是。 – SkunkSpinner 2009-05-29 13:38:19

回答

2

您可以尝试手动设置响应301这里的状态代码是一些borrowed code应该帮助你:

Response.StatusCode = 301; 
Response.StatusDescription = "Moved Permanently"; 
Response.RedirectLocation = "RedirectionPage.aspx"; 
Response.Flush(); 

你也可以作为最后的努力,Server.Transfer的使用( )或输出一个简单的脚本,将窗口的位置设置为新的url。

Page.ClientScript.RegisterStartupScript(Page.GetType 
"RedirectScript", "window.location.href='RedirectionPage.aspx'", true); 

虽然我不知道他们的浏览器如果不尊重原始重定向,他们的浏览器将如何处理它。

你对这些人正在使用的浏览器有任何信息吗?

2

302是代码response.redirect返回。我也看到了做一个客户端的笔记

window.location = 'url' 

但它听起来像一个浏览器设置。

0

当位置标题丢失时可能会发生这种情况。