刚开始使用MVC,我遇到了问题。 以下是我的文件的层次结构:
1.WebJltNZ\JWebJltNZ.Presentation.Web.Mvc\Controllers : LbpProfessionalController
2.WebJltNZ.Presentation.Web.Mvc\ViewModels : LbpProfessional
3.WebJltNZ.Presentation.Web.Mvc\Views\Home\RiskAndInsuranceServices\JltAffinityPartnerships :LbpProfessionalProtectionApplication
以下方法:
public ActionResult Index()
{
return View(); // it's cannot be found.
}
无法找到该视图。
我在这里遗漏了什么。请帮忙。
答案 0 :(得分:5)
你的名字错了。它的工作方式是控制器名称匹配视图文件夹中的子文件夹;并且action方法匹配该子文件夹中的文件。
这意味着Controllers文件夹中的LbpProfessionalController
应与LbpProfessional
文件夹中名为Views
的文件夹匹配。
Index
内的LbpProfessionalController
方法应与Index.cshtml
文件夹中的\Views\LbpProfessional
文件匹配。
结构看起来像这样
\Controllers\LbpProfessionalController.cs
\Views\LbpProfessional\Index.cshtml
请注意,控制器的名称以...Controller
结尾,但文件夹名称未获得该部分。
这是链接控制器和视图的标准方法,当您遵循这些规则时,您可以使用一个简单的操作方法:
public ActionResult Index()
{
// This view will be found if you have given the view the right name
// ("Index.cshtml") and put it in the right place (folder named
// after controller).
return View();
}
但是如果你想拥有一个与默认链接方式不同的视图,那么你需要指定另一个视图的路径。它看起来像这样:
public ActionResult Index()
{
return View("anotherViewName");
}
答案 1 :(得分:0)
将Controller类继承到已放置公共ActionResult Index()
的类