在 MVC ASP.NET 控制器之前创建视图



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

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

return View("MyViewName");

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

提前感谢!

无需编写某些内容,您的文件夹必须命名为控制器。如果需要其他文件夹名称,请键入完整路径:

return View("~/Views/MyCustomFolder/MyViewName.cshtml");
这是

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 作为模型类型。

希望这有帮助。

相关内容

  • 没有找到相关文章

最新更新