MVC如何创建区域
前言
MVC 划分区域可以为项目成立不同的小模块,方便团队之间开发,与增强项目结构的清晰度。
正文
建立区域:
在areas里面建立区域。,然后填写命名。
然后区域注册即可:
但是这样做依然无法解决项目的臃肿问题,是否可以让区域独立一块出去呢?
单独的程序集
如何把area的注册类放在单独的程序集?
1.建立一个类库。
2.剪切刚才建立area的路由类,就是adminAreaRegistration.cs
3.nuget搜索mvc然后添加到新建的类库中。
然后重新运行,index视图,发现依然可以。
因为我们的命名空间没有改变,然后再编译器编译后会在各自类库的dll中生成中间语言,这才是会执行的语言,然后adminArea的dll会合并到webApplication4的dll合并。
这时候相当于还是再webApplication4中执行,好了看来我们的注册类可以分离,那么控制器可不可以分离呢?
同理当然是可以的。
一步一步来:
首先建立了一个mvc项目名字随便吧,意思一下就行,规范的化就用区域名。
先上图:
1.建立了mvcdemoControllers
2.再控制器里面建立了demoUser这个控制器,
3.然后生成了一个index视图。
4.建立了一个MVCdemoRegistrations.cs就是一个普通类,MVCdemo就是区域的名字前面解释了哈。
看下MVCdemoRegistrations写些什么:
里面注册了一个新的路由,那么就必须规范空间命名了,这个可以去看MVC的文件管理的原理。
命名规范为:
因为mvc找到控制器的方法就是从空间,到控制器,再到方法。
好吧,既然我们的控制器能够找到。
所以要把视图放过去:
这样就完成了mvc 的区域划分。