2009-05-28 39 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

當位置標題丟失時可能會發生這種情況。