是否可以更改文件夹结构为以下内容,并且仍然使MVC工作。
P1
- 控制器 (Controllers)
- 模型 (Models)
- 视图 (Views)
P2
- 控制器 (Controllers)
- 模型 (Models)
- 视图 (Views)
等等...
是否可以更改文件夹结构为以下内容,并且仍然使MVC工作。
P1
P2
等等...
如前所述,Areas 功能是您要查找的功能。如果您使用的是 vs2010,则尽管您拥有 MVC2,但您没有创建区域的工具 - 这些仅在安装 MVC2 rc 时才可用于 vs 2008。
要实现此操作,请按照以下链接中的说明进行操作:http://msdn.microsoft.com/en-us/library/ee671793%28VS.100%29.aspx。如您所见,菜单选项已经消失了,因此:
注意:命名空间应包含 .Areas。
要获取更多解释,请在 stackoverflow 上搜索 asp-net-mvc-2-beta-single-project-area-registration-getting-http-404(因为这是我第一次发布答案 - SO 不允许我附加超过 1 个链接,去理解吧..)
希望这可以帮助到您
应该是可行的,我认为默认的文件夹结构只是一个建议。在一些文档中,我之前看到过较大的项目可能会以不同的方式拆分,甚至可能分布在多个程序集中。
唯一可能会引起麻烦的是视图。因为控制器操作仅通过文件名映射到它们。我知道有一些方法可以更改它们,但我还没有必要这样做。
你可以创建自己的视图引擎来解决路径问题。这听起来像是一个非常奇怪的想法,但实际上 ViewEngine 类负责两件事情:定位视图和将视图呈现给 httpresponse。你需要更改的是定位部分,你可以继承默认的 aspxviewengine 并更改视图定位部分。