2010-01-12 95 views
1

這是一個奇怪的。可能很痛苦明顯。 :DRedirectToAction無法加載正確的視圖

我有一個視圖(我們稱之爲View0.aspx),它將一個表單發佈到控制器動作(我們稱之爲Action1)。 Action1運行,然後返回RedirectToAction("Action2"),然後返回View("View2")

在調試器中運行它,一切都很好(Action2斷點被擊中)。問題是,它永遠不會加載View2.aspxView0.aspx停留在那裏。我甚至可以看到調用Action2的路由的HTTP請求,但View2永遠不會加載。我甚至沒有刷新任何想法?下面

來源:

[AcceptVerbs("POST")] 
    public ActionResult Action1() 
    { 
     // Run action code 

     return RedirectToAction("Action2"); 
    } 

public ActionResult Action2() 
    { 
     // run action code 

     return View("View2"); 
    } 
+0

Action2方法中的斷點是否被擊中? – tarn 2010-01-12 06:35:56

+0

是的,它碰上了 – jchapa 2010-01-12 06:40:05

+0

還有別的事情嗎?例如,從Action1(),你永遠不會直接返回Action2(),對吧?可能有助於查看更多代碼。 – Terje 2010-01-12 10:10:14

回答

1

我剛發現這個問題。我正在做一個Ajax帖子,這解釋了爲什麼它沒有重定向。我把它切換到一個普通的帖子,它的工作。另外,我剛剛注意到我的OP中有一些錯誤,我正在修復。對於令人困惑的帖子感到抱歉。

+0

如果您需要一個在POST結束時執行RedirectToAction的ActionLink,該怎麼辦? – MattR 2013-09-26 19:06:43

0

「看到視圖2 HTTP請求」 - 你的意思了措施2?你不能在MVC中請求視圖。 「View0.aspx停留在那裏」 - 哪裏「有」?它是普通的POST還是AJAX化的?如果它是純粹的POST並且你點擊了Action2,那麼瀏覽器已經離開了Action0頁面並且將顯示新的結果 - 不管它是什麼。即使錯誤也會改變頁面。那麼,「View0.aspx停留在那裏」是什麼意思 - 不刷新頁面?頁面刷新但具有相同的View0內容?你確定View0和View2看起來不一樣嗎?