我使用的是MVC6,我无法弄清楚如何在我的项目中重新定位这些文件夹:
- MyWebApp
- 控制器
- 的ViewModels
- 浏览
进入这样的公共文件夹:
- MyWebApp
- 的mvc
- 控制器
- 的ViewModels
- 浏览
物理地重新定位文件和文件夹很容易,但MVC无法再找到这些文件:
InvalidOperationException:视图'索引'没找到。该 搜索了以下位置:
/Views/App/Index.cshtml /Views/Shared/Index.cshtml
如何将/ Mvc文件夹添加为查找MVC相关优点的位置?
答案 0 :(得分:2)
您正在寻找的是区域。与旧版本的MVC不同,使用Core时,右键单击项目时没有正式的“区域”选项。但是,您可以创建一个文件夹并将其命名为“区域”。在控制器中,您可以使用 [Area(“myArea”)] 来装饰每个控制器,以指定区域内的控制器。
在startup.cs中,设置如下:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areaRoute",
template: "{area:exists}/{controller}/{action}"
);
routes.MapRoute(
name: "default",
template: "{area=myArea}/{controller=Home}/{action=Index}");
});