学而时习之,不亦说乎,温顾温知新,可以为师矣. 这也是算是一种学习的方法和态度吧,经常去学习和总结,在博客园看了很多大神的文章,写下一点对于ABP(ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称)框架的理解和运用.能力有限,第一次写技术性的博客写得不好.算是抛砖引玉,希望有问题的地方给予指出.      "ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框…
一,Web API ABP的动态WebApi实现了直接对服务层的调用(其实病没有跨过ApiController,只是将ApiController公共化,对于这一点的处理类似于MVC,对服务端的 调用没有跨过HttpHandler一样),这样不仅减少了ApiController的开发,也更能体现驱动领域设计的层结构. WEBAPI同样集成自AbpController, 我们看到AbpController封装了很多方法,集成了很多东西,继承自System.Web.Mvc.Controller,abp…
一,控制器AbpController 说完了Swagger ui 我们再来说一下abp对控制器的处理和json的封装. 首先我们定义一个控制器,在新增控制器的时候,控制器会自动继承自AbpController,AbpController对ASP.NET MVC Controllers进行了集成. 并且拥有了以前强大的功能. 我们看到AbpController封装了很多方法,集成了很多东西,继承自System.Web.Mvc.Controller,abp包含一下功能 1,本地化 2,异常处理 3,…
这张开始bootstrap table,引入项目有两种方法,一种是直接去官网下载 地址:http://bootstrap-table.wenzhixin.net.cn/ 另一种是Nuget引入. 然后就是把js引用到项目中来,其实Bootstrap js 还有jQuery我们在模板页已经引进了,这里只需要引入bootstrap table相关的js以及中文包就可以了 <link href="~/Scripts/Content/bootstrap-table/bootstrap-table.…
上节我们把布局页,也有的临时的菜单,但是菜单不是应该动态加载的么?,所以我们这节来写菜单.首先我们看一下AdminLTE源码里面的菜单以及结构. <aside class="main-sidebar"> <!-- sidebar: style can be found in sidebar.less --> <section class="sidebar"> <!-- Sidebar user panel --> &l…
AdminLTE 官网地址:https://adminlte.io/themes/AdminLTE/index2.html 首先去官网下载包下来,然后引入项目. 然后我们在web层添加区域Admin以及Common,关于AdminLTE的地址我们放在Common路劲下面. 在Common下添加LayoutController控制器. 这里菜单我们先不管,在后面的章节我在加上,首先是_Layout页代码: @{ Layout = null; } @using System.Web.Optimiza…
上一节我们讲到登录逻辑,我做的登录逻辑很简单的,我们来看一下abp module-zero里面的登录代码. #region Login / Logout public ActionResult Login(string returnUrl = "") { if (string.IsNullOrWhiteSpace(returnUrl)) { returnUrl = Request.ApplicationPath; } return View( new LoginFormViewMode…
经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这里算是前面几节的一个初次试水. 首先我们数据库已经有的相应的数据. 模型和DTO已经建好,所以我们直接在服务层添加Login方法就可以了. 在展现层添加Account控制器,注入IUserService接口,调用Login方法. 然后添加视图页面. 运行一下,看一下结果. 除了页面比较漂亮(哈哈),这些本来都没有什么好说的,直接上图, 这里值得注意的是,我们在创建下面的方法,在调用接口的的时候会报一个错误…
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 第一点,上一篇文章中我们讲到codefirst中一些问题包括如图,codefirst在每次执行命令的时候会生成新的类,后来会越来越多. 1,codefirst在执行的数据库迁移过程中产生了很多文件,对于强迫症的我而言特别不爽,这些其实是可以不用生成的. 2,在codefirst实际开发过程的冲突 3,每次增加一个表或者增删改一个字段都要去敲命令,好麻烦 4,数据库初始化的时候,不用把很多东西写入程序里面. 5,…
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 用户实体 用户实体代表应用的一个用户,它派生自AbpUser类,如下所示: public class User : AbpUser<Tenant, User> { //add your own user properties here } 这个类是在安装模块零时创建的.用户存储在数据库的AbpUsers表中.您可以将自定义属性添加到User类(并为更改创建数据库迁移). AbpUser类定义了一些基本属性.一…