我通过在"视图"文件夹下的解决方案中创建一个新文件夹来创建 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 作为模型类型。
希望这有帮助。