ZVe*_*nue 4 asp.net asp.net-mvc asp.net-mvc-areas asp.net-mvc-3
我有一个巨大的MVC应用程序但不幸的是MVC领域没有用于初始开发.应用程序变得如此模块化,我们觉得有一个很好的案例可以使用区域.将整个代码移动到"区域"结构是多么容易或困难..是否有任何重大挑战/代码重新工作等我必须注意的事情?我可以创建新区域并将控制器视图模型移动到适当的存储桶中......它工作正常吗?我是在简化事情吗?如果有人之前采取过这条路线,会很感激反馈,评论..
该应用程序将适用于区域.由于分离,它将使维护和逻辑查看变得更容易.但是,你会遇到一些困境.
命名空间
第一个很可能是命名空间.当您将连接的逻辑或模型与依赖关系分开时,如果将依赖类放在区域中,则它们的命名空间引用可能需要更改.幸运的是,Visual Studio可以通过简单的"Resolve"功能来处理这些问题.如果您尝试编译并向您显示存在问题的所有位置,编译器应该抛出.很难预见所有这些事件的发生地点.但是,很可能没有多少使用指令是必需的,因为许多不同控制器使用的大多数应该在一个地方.
路由
如果您要使用区域,几乎所有您使用的操作链接都必须更改.您将被迫更改它们以代表新区域.
没有区域(在基地):
@Html.ActionLink("Label For Link", "ActionName", "ControllerName", new { area = "" }, null)
Run Code Online (Sandbox Code Playgroud)
具体领域:
@Html.ActionLink("Label For Link", "ActionName", "ControllerName", new { area = "SpecificAreaName" }, null)
Run Code Online (Sandbox Code Playgroud)
您可能还需要更改任何return RedirectToAction代码.
基地面积:
return RedirectToAction("ActionName", "ControllerName");
Run Code Online (Sandbox Code Playgroud)
具体领域:
return RedirectToAction("ActionName", "ControllerName", new { Area = "SpecificAreaName" });
Run Code Online (Sandbox Code Playgroud)
除此之外,你应该是好的.
| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |