新的Microsoft asp.net mvc实现如何处理应用程序的分区 - 例如:
--index.aspx --about.aspx --contact.aspx --/feature1 --/feature1/subfeature/action --/feature2/subfeature/action
我想我想说的是,似乎所有内容都必须进入视图/控制器文件夹的根目录,在处理项目时可能会变得笨拙,如果使用Web表单构建可能有很多很多文件夹和子文件用于分区应用程序的文件夹
我认为我得到了MVC模型,我喜欢它与Web表单相比的外观,但仍然让我了解如何在实践中构建一个大型项目.
组织控制器没有任何问题.您只需设置路线即可考虑组织.您将遇到的问题是找到控制器的视图,因为您更改了约定.它还没有任何内置功能,但使用ActionFilterAttribute和继承ViewLocator的自定义视图定位器很容易创建自己的工作.然后在创建控制器时,您只需指定要使用的ViewLocator,以便控制器知道如何查找视图.如果需要,我可以发布一些代码.
这种方法与我给另一个人使用ASP.NET MVC分离他们的观点的一些建议一致.以下是该问题的链接作为参考.
就您如何安排视图而言,如果您愿意并创建自己的视图结构,可以将视图放在子文件夹中.所有视图始终可以使用〜语法通过其完整路径引用.因此,如果将Index.aspx放在\ Views\Feature1\Home中,则可以使用〜/ Views/Feature1/Home/Index.aspx引用该视图.
以下是我发现的两篇可能有助于其他读者的好博文:
http://stephenwalther.com/blog/archive/2008/07/23/asp-net-mvc-tip-24-retrieve-views-from-different-folders.aspx
这篇文章更深入地讨论了Haacked所描述的内容.
http://haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx
这是将您的网站分组为"区域"的不错选择.