0

我有一个相当大的 mvc 项目,我把它分成了几个领域。我使用添加区域创建了区域,然后将我的一些控制器和视图从我的主控制器和视图文件夹剪切并粘贴到区域文件夹中。

当从区域中的控制器运行操作时,这些操作似乎执行得很好,直到它们尝试返回视图然后返回此错误:

The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/Home/Index.aspx
~/Views/Home/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/Home/Index.cshtml
~/Views/Home/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml

如果我设置了一个新的测试区域,并创建了控制器,并查看这似乎工作正常。有谁知道我可能做错了什么,我一直在研究这个问题并进行了一天多的实验,现在已经完全停滞了。

4

2 回答 2

2

确保context.MapRoute(..)在您的文件中调用AreaRegistration.cs它还确保您的 Views 文件夹处于正确的层次结构中。即视图 => 控制器名称

但最重要的是,看看你复制的控制器是否有适当的命名空间,即

MvcApplication.Areas.AreaName.Controllers

代替

MvcApplication.Controllers
于 2013-07-10T10:40:48.263 回答
-1

尝试在返回视图语句中指定 are 的完整路径:例如

~/Areas/Admin/Views/Category/_CategoryDetails.cshtml

如果您使用该操作的默认视图没有问题,否则您必须指定完整路径。

于 2013-07-10T10:30:27.457 回答