在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
之前的My Blog提供了列表的展示和文章显示功能,但是所有数据仍然只能通过数据库录入,为了完成最初的角色“作者”的用例,本章将介绍如何使用“Area”实现My Blog的管理功能。 根据功能分离代码根据功能分离代码即所谓的模块,由于在My Blog中已经存在博客查看功能,而管理功能与查看功能是有区别的,所以在开发时也应考虑将它们的代码进行区分,以便于阅读和管理。而区分代码最常用的就是通过子目录将它们区分,如下:
在Controllers、Models和Views目录下创建Admin子目录,但在ASP.NET MVC中提供了一个更容易切分功能的方法“Area”。 使用Area分离功能1. 添加一个Admin Area: 在My Blog项目的右键菜单中找到Add--->Area:
Area名称设置为Admin:
完成后将生成一下目录和文件:
比较特殊的文件是AdminAreaRegistration.cs文件,该文件包含了该Area的路由信息,关于路由后续介绍:
创建管理模块主页1. 仓储中添加增、删、改功能:
2. 业务逻辑添加增、删、改功能:
3. 添加页面布局文件(为了快速开发复制一份原有布局文件进行修改):
4. 添加管理主页相关的HomeController、View:
Index.cshtml内容:
_Layout.cshtml:
_ViewStart.cshtml:
5. 为Admin Area路由添加命名空间(因为原来就有一个名为HomeController的控制器,用于显示主页) 对App_Start的RoutConfig.cs和Areas下面的AdminAreaRegistration.cs进行修改,注册路由的时候加入命名空间:
添加文章管理功能1. 添加PostManagement的Controller、View、Model
管理文章列表代码:
更新文章代码:
列表页面:
更新文章页面:
视图模型:
代码说明:
小结本章通过创建area的方法为My Blog提供了文章维护的功能,并介绍了主要代码,现在My Blog已经具备内容展示和维护的功能,但是所有功能都是不完善的,比如界面、文章更新时候的排版还有访问限制等,这些功能也将在后续慢慢完善。在使用Area开发新的功能模块时需要注意的就是Controller的重名问题,如果存在重名需要在路由信息中加入命名空间的限制。 本文连接:http://www.cnblogs.com/selimsong/p/7659997.html |
请发表评论