2014-09-26 43 views
2

准备好迎接来自我的另一个基本问题......我想我已经掌握了MVC站点中的Area概念,但是我想进一步组织它们,将它们移动到外部项目(包括控制器,视图,脚本,样式)或在Area文件夹中创建子文件夹?ASP.Net中的组织领域MVC 5

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

回答

1

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

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