在ASP.Net MVC 5中组织区域

时间:2014-09-26 14:41:34

标签: asp.net-mvc asp.net-mvc-areas

为我的另一个基本问题做好准备...我想我已经掌握了MVC网站中的区域概念,但我想进一步组织它们,我可以将它们移动到外部项目(使用控制器,视图,脚本,样式)或在Area文件夹中创建子文件夹?

我问的原因是我尝试在Regions下创建一个文件夹并将其命名为Common,然后在该文件夹中创建一个区域并将其命名为MyTest。当我尝试浏览mysite.com/mytest时,它会失败。

1 个答案:

答案 0 :(得分:1)

您应该尝试使用通常的方式并将区域用作Areas ASP.NET根文件夹的子文件夹。您的网址失败的唯一原因是您的AreaRegistration文件未正确注册您的路由。您可以查看Glimpse作为调试路径的方法,或者只是查看文件并尝试将其弄清楚。请记住,ASP.NET会自动查找从AreaRegistration继承的类,并使用它们来注册特定于您所在区域的路由。如果您的路由似乎配置正确,请确保您的控制器位于路由可见的命名空间中。

如果您想将区域(使用控制器模型和视图)隔离到单独的项目中,您应该考虑创建自己的VirtualPathProvider,因为这是查看视图的唯一方法。但是,它们必须是Embedded Resource并且不能被贬低。您的区域(如果位于单独的DLL中)将自动注册,只要DLL位于主应用程序Bin文件夹中,您的控制器就会自动找到。