0
我有两个列出项目的操作。 Index()列出所有项目,Filtered(字符串foo)过滤基于foo的项目列表。当用户创建一个新项目时,我希望能够根据它们以前的位置将它们重定向回Index()或Filtered(字符串foo)。MVC操作记录
我该如何做到这一点,或重做我的行动来完成这项工作?
我有两个列出项目的操作。 Index()列出所有项目,Filtered(字符串foo)过滤基于foo的项目列表。当用户创建一个新项目时,我希望能够根据它们以前的位置将它们重定向回Index()或Filtered(字符串foo)。MVC操作记录
我该如何做到这一点,或重做我的行动来完成这项工作?
您可以修改您的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重定向到请求者”可能会产生更有用的东西,这基本上是你想要的是重新回到请求的路线。
这也是我的唯一想法,但我希望自己错过了某些东西,或者有更多经验的人知道更好的解决方法。感谢这篇文章,如果我没有找到其他的东西,我会回来,并将其标记为答案。 – schwechel 2011-06-07 13:58:02
看起来这似乎是一个常见的请求,并将由框架处理。也不确定我喜欢在isnullorempty调用之前使用否定。我想我会放弃,只是扭转if/else语句。 – 2011-06-07 15:23:43