2011-06-06 57 views
0

我有兩個列出項目的操作。 Index()列出所有項目,Filtered(字符串foo)過濾基於foo的項目列表。當用戶創建一個新項目時,我希望能夠根據它們以前的位置將它們重定向回Index()或Filtered(字符串foo)。MVC操作記錄

我該如何做到這一點,或重做我的行動來完成這項工作?

回答

0

您可以修改您的ActionResult以接受包含用戶來自的URL路徑的字符串。

事情是這樣的:

[HttpPost] 
    public ActionResult CreateFoo(Blah model, string returnUrl) 
    { 
     // Do something here 
     if (!String.IsNullOrEmpty(returnUrl)) // As long as a return URL was passed 
     { 
      return Redirect(returnUrl); // Return them to this URL 
     } 
     else 
     { 
      return RedirectToAction("Index", "Home"); // Otherwise Go Home 
     } 
    } 

我沒有一噸的ASP.NET MVC經驗,所以有可能是一個更好的內置的方式來處理這個問題。谷歌搜索「asp.net mvc重定向到請求者」可能會產生更有用的東西,這基本上是你想要的是重新回到請求的路線。

+0

這也是我的唯一想法,但我希望自己錯過了某些東西,或者有更多經驗的人知道更好的解決方法。感謝這篇文章,如果我沒有找到其他的東西,我會回來,並將其標記爲答案。 – schwechel 2011-06-07 13:58:02

+0

看起來這似乎是一個常見的請求,並將由框架處理。也不確定我喜歡在isnullorempty調用之前使用否定。我想我會放棄,只是扭轉if/else語句。 – 2011-06-07 15:23:43