Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 2 ASP.NET MVC2-从控制器操作返回上一个视图_Asp.net Mvc 2 - Fatal编程技术网

Asp.net mvc 2 ASP.NET MVC2-从控制器操作返回上一个视图

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 (

如何从控制器中的操作返回到“上一个”视图

我有一个行动,可以从两个不同的角度达成

该操作可通过两种方式产生:

成功-然后我返回到第三个不同的视图 失败-然后我想返回到上一个视图(2个视图之一)-具有相同(旧)模型数据,其中TempData[“Message”]包含错误


我想返回发布到此操作的视图-如何实现此行为?

您可以将以前的视图名称作为参数传递给操作

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;)不能-因为此方法返回一个视图(“成功”转到一个新视图)。我想在失败的情况下,返回到上一个视图,使用上一个数据…我认为有一种自动机制可以转到上一页-就像验证失败时一样。。。您的代码应该可以工作并解决这个问题,我将检查它,并进一步了解验证失败场景。