从控制器返回有效视图

时间:2012-03-23 21:32:43

标签: c# asp.net-mvc

我有一个像这样的方法:

  [HttpPost]
  public ActionResult Edit(ViewModel.MyViewModel viewModel)
  {
     // Code here to handle the save to the database and in the case 
         // where some validation are not accepted, return View(viewModel)

     return View("Index", viewModel);
  }

当我运行此代码并且我的viewModel有效时,我想将用户返回到包含项目列表的视图。

我知道在这种情况下我必须使用RedirectToAction(“Index”)而不是最后一行,但我想知道为什么当我运行此代码并执行最后一行时,MVC返回编辑页面而不是列表页面。

如果我无法指定控制器处理的视图以外的其他原因,我会在View函数的参数列表中指定一个视图名称吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

  

我知道在这种情况下我必须使用RedirectToAction(“Index”)   而不是最后一行,但我想知道为什么当我运行此代码   并且执行最后一行,MVC返回编辑页面而不是   列表页面。

未执行Edit视图。您传递Index实例的MyViewModel视图即使在浏览器地址栏中看到/somecontroller/edit也是如此。