0

我通过在 Views 文件夹下的解决方案中创建一个新文件夹来创建 Razor 视图,然后右键单击该文件夹并选择“添加视图”。

后来,我转到我的控制器文件夹并右键单击它,选择“添加控制器”。但是,现在我想将我创建的视图附加到我的控制器,当我这样做时,Visual Studio 无法识别我的视图存在:

return View("MyViewName");

如何让 Visual Studio 识别我已经存在的视图?我宁愿不使用 Resharper 创建我的 Razor 视图来解决问题(因为我已经创建了视图)。

提前致谢!

4

2 回答 2

3

不需要写东西,你的文件夹必须命名为控制器。如果您想要其他文件夹名称,请输入完整路径:

return View("~/Views/MyCustomFolder/MyViewName.cshtml");
于 2012-09-20T18:21:17.070 回答
2

这是对 ASP.NET MVC配置概念的约定 您的控制器操作应与视图相同:

public class MyBeautifulController : Controller
{
  public ActionResult MyActionIndex()
  {
    return View();
  }
}

谢谢你的视图应该被调用并位于这样的位置:~/Views/MyBeautiful/MyActionIndex.cshtml

基本上你在你的控制器类名中删除了最后一个“控制器”。

这就是 COC(配置上的约定)。现在,如果您想调用一个不像您的操作那样调用的视图,您将在您的操作中执行以下操作:

public class MyBeautifulController : Controller
{
  public ActionResult MyActionIndex()
  {
    return View("ViewCalledDifferently", new MyModel());
  }
}

在这种情况下,您的视图将被调用并定位如下: ~/Views/MyBeautiful/ViewCalledDifferently.cshtml并将接受 MyModel 作为模型类型。

希望这可以帮助。

于 2012-09-20T18:29:47.647 回答