2011-06-06 90 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