首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC在ActionMethod中找不到视图

MVC在ActionMethod中找不到视图
EN

Stack Overflow用户
提问于 2013-09-09 14:19:02
回答 2查看 11.4K关注 0票数 2

刚刚开始使用MVC,我遇到了一个问题。下面是我的文件的层次结构:

代码语言:javascript
复制
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

方法如下:

代码语言:javascript
复制
public ActionResult Index()
{
    return View(); // it's cannot be found.
}

找不到视图。

我是不是漏掉了什么。请帮帮忙。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-09 15:31:54

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

这意味着控制器文件夹中的LbpProfessionalController应该与Views文件夹中名为LbpProfessional的文件夹相匹配。

LbpProfessionalController中的Index方法应该与\Views\LbpProfessional文件夹中的Index.cshtml文件相匹配。

然后,该结构将如下所示

代码语言:javascript
复制
\Controllers\LbpProfessionalController.cs
\Views\LbpProfessional\Index.cshtml

请注意,控制器的名称以...Controller结尾,但文件夹名称不包含该部分。

这是链接控制器和视图的标准方法,当您遵循这些规则时,您可以使用如下所示的简单操作方法:

代码语言:javascript
复制
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(); 
}

但是如果你想要一个不同于默认链接方式的视图,那么你需要指定另一个视图的路径。它可能看起来像这样:

代码语言:javascript
复制
public ActionResult Index()
{
   return View("anotherViewName"); 
}
票数 8
EN

Stack Overflow用户

发布于 2014-02-28 05:35:35

将控制器类继承到放置了公共ActionResult索引()的类

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18692468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档