ASP.NET MVC中的Area区域简介

竹林之风7年前 (2015-04-30)技术积累1515

        ASP.NET MVC4有预定义的目录规则,框架根据这些目录规则去加载各种类。在MVC单项目中,随着业务越来越复杂多样,我们会希望按照功能对代码按文件夹分门别类。如果在默认的目录结构下业务混合,这样不方便管理和维护;如果另开新项目,又比较散乱。那么MVC有没有这样一种机制来相对独立这些模块呢?答案是肯定的,这就是MVC的Area区域技术,用来实现在一个MVC项目中组织和维护多个相对独立的模块。

        在VS中右键单击项目,在弹出的菜单中选择“添加(A)”->“Area...”,在弹出的对话框中输入区域名称(遵守C#标示符命名规则)即可(比如输入Api),VS将自动在根目录创建Areas文件夹,此文件夹下每个独立的Area一个文件夹,Api文件夹内也是一样的Models、Controllers、Views结构。

图1:右键菜单

图2:输入Area Name

图3:文件结构

        唯一不同的是多了一个ApiAreaRegistration.cs(区域注册类),用于向MVC框架注册路由等信息,Global.asax.cs中会自动调用该类的RegisterArea方法。新建Area后VS自动创建相关目录结构,按需修改ApiAreaRegistration路由即可。

图4:ApiAreaRegistration类


图5:Global.asax



标签: MVC

相关文章

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常时,其中一个原因是:在已经重定向后又重定...

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常,是因为设置Response的Status...

ASP.NET网站自定义错误处理及其它安全相关

        ASP.NET网站在运行过程中总是有可能报错,例如404等HTTP错误、500等程序异常。在IIS托管并报错的情况下,网站的默认行为依次是:(1...

ASP.NET MVC WebApi控制器方法使用async假死超时问题

        在一个ASP.NET MVC WebApi控制器方法中使用async标记为异步方法后,有时会假死超时。根...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法和观点。