我通过在Views文件夹下的解决方案中创建一个新文件夹创建了一个Razor View,然后我右键单击该文件夹并选择了“添加视图”。
稍后,我转到我的Controller文件夹并右键单击它,选择“添加控制器”。但是,现在我想将我创建的视图附加到我的控制器上,当我这样做时,Visual Studio无法识别我的视图存在:
return View("MyViewName");
如何让Visual Studio识别我现有的视图?我不想通过使用Resharper创建我的Razor视图来解决问题(因为我已经创建了视图)。
提前致谢!
答案 0 :(得分:3)
无需编写内容,您的文件夹必须命名为控制器。如果需要其他文件夹名称,请键入完整路径:
return View("~/Views/MyCustomFolder/MyViewName.cshtml");
答案 1 :(得分:2)
这是ASP.NET MVC的convention over configuration概念 您的控制器操作应该与视图相同:
public class MyBeautifulController : Controller
{
public ActionResult MyActionIndex()
{
return View();
}
}
感谢您的观点应该被调用并且位于:~/Views/MyBeautiful/MyActionIndex.cshtml
基本上你删除了控制器类名中的最后一个“Controller”。
这是COC(Convention Over Configuration)。现在,如果您想调用一个未被调用的视图,您将在操作中执行以下操作:
public class MyBeautifulController : Controller
{
public ActionResult MyActionIndex()
{
return View("ViewCalledDifferently", new MyModel());
}
}
在这种情况下,您的视图将被调用并且位于以下位置:
~/Views/MyBeautiful/ViewCalledDifferently.cshtml
并接受MyModel作为模型类型。
希望这有帮助。