【发布时间】:2011-01-03 20:03:00
【问题描述】:
如何从控制器中的操作返回到“上一个”视图?
我有一个可以从 2 个不同的视图进行的操作。
动作可以通过两种方式:
成功 - 然后我返回到第三种不同的视图 失败 - 然后我想返回上一个视图(其中一个) - 具有相同的(旧)模型数据和包含错误的 TempData["Message"]。
我想返回发布到此操作的视图 - 如何实现此行为?
【问题讨论】:
标签: asp.net-mvc-2
如何从控制器中的操作返回到“上一个”视图?
我有一个可以从 2 个不同的视图进行的操作。
动作可以通过两种方式:
成功 - 然后我返回到第三种不同的视图 失败 - 然后我想返回上一个视图(其中一个) - 具有相同的(旧)模型数据和包含错误的 TempData["Message"]。
我想返回发布到此操作的视图 - 如何实现此行为?
【问题讨论】:
标签: asp.net-mvc-2
您可以将以前的视图名称作为参数传递给您的操作。
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
【讨论】: