0

我的(mvc)应用程序中有以下结构

-Views --Home
---
Index.cshtml


--用户--- Change.cshtml

我正在使用这样的表格

@using (Html.BeginForm("Change", "User", new { id = 2 }))
{
     // Code ...
}

如果所有文本字段都已填写,您可以单击提交按钮。在后台,将采取行动,并将用户带回 Home/Index.cshtml 页面。

我返回“视图”的代码如下所示

[HttpPost]
public ActionResult Change(FormCollection collection)
{
  //logic....
  return View("Index", "Home");
}

问题从这里开始。我无法切换回主页/索引。我收到一条错误消息,提示找不到视图。它尝试在视图/用户中查找索引,但不在主页中查找。这有什么原因吗?

4

1 回答 1

1

您在用户控制器中,因此当您执行以下操作时:

return View("Index", "Home");

MVC 将在文件夹中查找Index页面。Users指定Home并不是告诉它查看Home控制器。该参数是为模型保留的。

我不建议从一个控制器路由到另一个控制器,但是您可以使用

RedirectToAction在您的情况下,它允许您指定操作名称和控制器:

return RedirectToAction("Change", "Home");
于 2013-06-13T09:43:32.167 回答