當我得到異常我得到的例外「不能HTTP標頭後,重定向已發送」重定向到另一頁
"Cannot redirect after HTTP headers have been sent."
時做Response.Redirect("Home.aspx")
。
我該如何解決這個問題? 我嘗試在重定向之前給Response.Flush()
。
當我得到異常我得到的例外「不能HTTP標頭後,重定向已發送」重定向到另一頁
"Cannot redirect after HTTP headers have been sent."
時做Response.Redirect("Home.aspx")
。
我該如何解決這個問題? 我嘗試在重定向之前給Response.Flush()
。
問題是重定向之前的Response.Flush()
。使用HTTP,您可以獲得一個響應一個請求。您的瀏覽器請求的頁面只有一次,我懷疑你試圖兩次迴應:
Response.Flush(); //First Response
Response.Redirect("Home.aspx"); //Second Response
因此採取這一出Response.Flush()
將解決你的問題。
因爲這個錯誤我添加了Response.Flush(),即使我刪除了我也得到了同樣的錯誤。 – nimi 2011-04-13 09:06:14
然後你可能會得到另一個迴應,做一個查找或張貼一些代碼 – 2011-04-13 09:06:54
我剛剛以一種不同的方式碰到了這個問題。我有兩個Response.Redirect調用沒有被包裝在獨立的代碼分支中。在Chrome中工作良好,但IE不喜歡它。這是一個簡單的解決方法,因爲我有兩個「if」語句。我只是把第二個爲「否則,如果」是這樣的...
if (QueryString("reset") == "1")
{
// User is resetting password
Response.Redirect("/Account/ResetPassword.aspx");
}
else if (DataUtils.IsInt(QueryString("id")))
{
// User is authenticating...completing signup
Response.Redirect("/Account/Activate.aspx");
}
對我來說,這個問題的原因是,在滾動GridView控件加載數據花費很長的時間。並沒有精確加載gridview數據之前,但我按下重定向按鈕。
試圖解決問題可能是:
+減少您的數據得到
或
+裝載之前完成防止按重定向按鈕
的[爲什麼我得到
可能重複「不能當我調用Response.Redirect(url)時,發送HTTP頭後重定向?](http://stackoverflow.com/questions/159523/why-do-i-get-cannot-redirect-after-http-headers-已經被髮送的時候,我呼叫呼叫) – 2011-04-13 09:07:54
如果答案中的o這個問題並沒有幫助你(例如,第二高的投票人提到確保'Response.Buffer'在任何其他事情發生之前都被設置爲true),那麼如果您希望我們診斷它,您將不得不向我們展示更多代碼。 – 2011-04-13 10:46:42
重複問題和解決方法在這裏找到:http://stackoverflow.com/questions/159523/why-do-i-get-cannot-redirect-after-http-headers-have-been-sent-when-i-call -resp – 2011-04-13 09:05:27