Asp.net mvc 在ASP.NETMVC5中组织区域

Asp.net mvc 在ASP.NETMVC5中组织区域,asp.net-mvc,asp.net-mvc-areas,Asp.net Mvc,Asp.net Mvc Areas,准备好回答我的另一个基本问题……我想我已经掌握了MVC站点中的面积概念,但我想进一步组织它们,我可以将它们移动到外部项目(带有控制器、视图、脚本、样式)中,还是在面积文件夹中创建子文件夹 我问这个问题的原因是我试图在Areas下创建一个文件夹,并将其命名为Common,然后在该文件夹内创建一个区域,并将其命名为MyTest。当我尝试浏览到mysite.com/mytest时,它失败了。您应该尝试使用常规方法,并将区域用作区域ASP.NET根文件夹的子文件夹。URL失败的唯一原因是您的AreaRe

准备好回答我的另一个基本问题……我想我已经掌握了MVC站点中的面积概念,但我想进一步组织它们,我可以将它们移动到外部项目(带有控制器、视图、脚本、样式)中,还是在面积文件夹中创建子文件夹

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

您应该尝试使用常规方法,并将区域用作
区域
ASP.NET根文件夹的子文件夹。URL失败的唯一原因是您的
AreaRegistration
文件没有正确注册您的路线。您可以查看
scape
作为调试路由的一种方法,或者只需查看文件并尝试自己解决它。请记住,ASP.NET会自动查找从
AreaRegistration
继承的类,并使用它们注册特定于您所在区域的路由。如果路由似乎配置正确,请确保控制器位于路由可见的名称空间中

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