Model view controller MVC动作历史

Model view controller MVC动作历史,model-view-controller,action,Model View Controller,Action,我有两个列出项目的操作。Index()列出所有项目,并根据foo筛选(字符串foo)项目列表。当用户创建新项时,我希望能够根据它们之前所在的位置将它们重定向回Index()或Filtered(string foo) 我如何才能做到这一点,或者修改我的操作以使其生效?您可以修改ActionResult以接受包含用户来源的URL路径的字符串 大概是这样的: [HttpPost] public ActionResult CreateFoo(Blah model, string returnUr

我有两个列出项目的操作。Index()列出所有项目,并根据foo筛选(字符串foo)项目列表。当用户创建新项时,我希望能够根据它们之前所在的位置将它们重定向回Index()或Filtered(string foo)


我如何才能做到这一点,或者修改我的操作以使其生效?

您可以修改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重定向到请求者”可能会得到一些更有用的东西,这本质上就是你想要重定向回请求路径。

这也是我唯一的想法,但我希望我错过了一些东西,或者有更多经验的人知道更好的解决方法。谢谢你的帖子,如果我没有找到任何其他的答案,我会回来把它标记为答案。看起来这是一个常见的请求,将由框架来处理。也不确定我是否喜欢在isnullorempty调用之前使用否定。我想我应该放弃它,把if/else语句颠倒过来。