2

刚开始使用 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.
}

无法找到视图。

我在这里错过了什么吗。请帮忙。

4

2 回答 2

8

你把名字弄错了。它的工作方式是控制器名称与视图文件夹中的子文件夹匹配;并且 action 方法匹配该子文件夹中的文件。

这意味着LbpProfessionalControllerControllers 文件夹中的 应与文件夹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"); 
}
于 2013-09-09T07:31:54.350 回答
0

将 Controller 类继承到放置 public ActionResult Index() 的类

于 2014-02-27T21:35:35.407 回答