Asp.net mvc 2 ASP.NET MVC2-从控制器操作返回上一个视图
如何从控制器中的操作返回到“上一个”视图 我有一个行动,可以从两个不同的角度达成 该操作可通过两种方式产生: 成功-然后我返回到第三个不同的视图 失败-然后我想返回到上一个视图(2个视图之一)-具有相同(旧)模型数据,其中TempData[“Message”]包含错误Asp.net mvc 2 ASP.NET MVC2-从控制器操作返回上一个视图,asp.net-mvc-2,Asp.net Mvc 2,如何从控制器中的操作返回到“上一个”视图 我有一个行动,可以从两个不同的角度达成 该操作可通过两种方式产生: 成功-然后我返回到第三个不同的视图 失败-然后我想返回到上一个视图(2个视图之一)-具有相同(旧)模型数据,其中TempData[“Message”]包含错误 我想返回发布到此操作的视图-如何实现此行为?您可以将以前的视图名称作为参数传递给操作 public ActionResult Edit(DataObject model, string prevAction) { if (
我想返回发布到此操作的视图-如何实现此行为?您可以将以前的视图名称作为参数传递给操作
public ActionResult Edit(DataObject model, string prevAction)
{
if (model.IsValid)
{
return View("SomeView");
}
else
{
return RedirectToAction(prevAction, new { data = model });
}
}
您可以使用一个查询字符串变量来保存要返回的位置
类似于
controller/action?returnUrl=original/route
但在返回视图之前需要再次构建模型(“LastViewName”,model?),您可以使用RedirectToAction;)不能-因为此方法返回一个视图(“成功”转到一个新视图)。我想在失败的情况下,返回到上一个视图,使用上一个数据…我认为有一种自动机制可以转到上一页-就像验证失败时一样。。。您的代码应该可以工作并解决这个问题,我将检查它,并进一步了解验证失败场景。