ABP+AdminLTE+Bootstrap Table权限管理系统第一节--使用ASP.NET Boilerplate模板创建解决方案
"abp是ASP.NET Boilerplate简称,是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板"
abp官方网站:https://aspnetboilerplate.com/
abp开源项目:https://github.com/aspnetboilerplate
abp中主要的技术:
1,ASP.NET MVC 5、Web API 2、C# 5.0
2,DDD领域驱动设计 (Entities、Repositories、Domain Services、Domain Events、Application Services、DTOs等)
3,Castle windsor (依赖注入容器)
4,Entity Framework 6 \ NHibernate,数据迁移(数据迁移这个项目暂时没有用,详情看第二节)
5,Log4Net(日志记录)
6,AutoMapper(实现Dto类与实体类的双向自动转换)
7,Bootstrap
8,AngularJs(本项目暂时没用)
9,jQuery
10,其他JS库: jQuery.validate、jQuery.form、jQuery.blockUI、json2
11,AdminLTE(abp没有,本项目用到)
话不多说,abp是开源项目,我们前往官网去下载项目地址:https://github.com/aspnetboilerplate/aspnetboilerplate
现在官网的版本2.2.1,首先我们得安装
vs2013 update3以上版本
sqlserver 2008以上版本
另外需要安装最新的typescript 连接:https://www.microsoft.com/zh-CN/download/details.aspx?id=48593
abp最新版GitHub地址:https://github.com/aspnetboilerplate/aspnetboilerplate
客户端采用响应式布局,适配PC及移动端。前端框架AdminLTE,github地址:https://github.com/almasaeed2010/AdminLTE
表格控件则用到了bootstrap-table,github地址:https://github.com/wenzhixin/bootstrap-table
点击官网链接出现在我们面前的是abp最新版本根据上面的超做进行选择.

注意:我用的是mvc5 不是.net core .
然后输入项目名字,如果有验证码就输入验证码,创建一个项目就可以了注意这里默认是勾选module-zero,图中未勾选,那下面我们先来看一下abp勾选module-zero的样子
第二步修改链接地址,连接本地数据库

当然这里的Datebase JCmsErp本地SQL server 新建空的数据库,没任何表,等会儿我们会根据codefirst的数据库迁移功能自动创建数据库,注释的是abp默认路径

第三步在程序包管理控制台执行update-database命令(注意:这里一定要把WEB设置为启动项目,不然会报错:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错))
然后本地数据库就自动创建成功了,不懂codefirst的同学可以去看一下月影的博客:http://blog.csdn.net/gentle_wolf/article/details/14004345 和 tkb至简的博客http://www.cnblogs.com/farb/p/ABPAdvancedTheoryContent.html#masteringEF
我们去看数据库用管理员名和密码,还有租户名字

abp实际上使用ef框架codefrist已经为我们创建好了数据库,然后我们再来看登陆界面


用户名:admin 密码123qwe 以及登陆进去的页面.这里我们用租户名登陆进来的,可以进行增删查改
租户不明白的同学可以看下
tkb至简的博客:http://www.cnblogs.com/farb/p/ABPMultiTenancy.html,当然不明白也没关系,目前这个项目中并没有运用到多租户.
不过有兴趣的同学可以看一下

abp module-zero默认,界面是不是很丑,登陆界面是不是也很丑,还有codefirst的数据库迁移功能在实际运用的过程并不是太适合多人开发,容易冲突,然后我们在实际开发过程不可能用abp原声的界面,原生的登陆页面,怎么办,当然是自己动手去写啊!!
这就是我写这一系列文章的原因.同时也方便大家交流和指教.找出自身的不足之处.
下面给demo两张成果图片

登陆页面

页面页面展示
当然还有很多没有完善的地方,我希望通过这系列文章勉励自己,改变自己懒惰的性情,坚持去写一系列文章,当然这些都是下班时候写的,时间有限,更新时间不定.abp也是我喜欢的.net框架,一起努力一起见证.一起共勉!
ABP+AdminLTE+Bootstrap Table权限管理系统第一节--使用ASP.NET Boilerplate模板创建解决方案的更多相关文章
- ABP+AdminLTE+Bootstrap Table权限管理系统第九节--AdminLTE模板页搭建
AdminLTE 官网地址:https://adminlte.io/themes/AdminLTE/index2.html 首先去官网下载包下来,然后引入项目. 然后我们在web层添加区域Admin以 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第二节--在ABP的基础做数据库脚本处理
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 第一点,上一篇文章中我们讲到codefirst中一些问题包括如图,codefirst在每次执行命令的时候会生成新的 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第九节--AdminLTE引入及模板页和布局和菜单
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 AdminLTE AdminLTE 官网地址:https://adminlte.io/themes/AdminLT ...
- ABP+AdminLTE+Bootstrap Table权限管理系统一期
学而时习之,不亦说乎,温顾温知新,可以为师矣. 这也是算是一种学习的方法和态度吧,经常去学习和总结,在博客园看了很多大神的文章,写下一点对于ABP(ABP是“ASP.NET Boilerplat ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第二节--数据库脚本
第一点,上一篇文章中我们讲到codefirst中一些问题包括如图 1,codefirst在执行的数据库迁移过程中产生了很多文件,对于强迫症的我而言特别不爽,这些是可以不用生成的啊 2,在codefir ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第七节--登录逻辑及abp封装的Javascript函数库
经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这里算是前面几节的一个初次试水. 首先我们数据库已经有的相应的数据. 模型和DTO已经建好,所以我们直接在服务 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第七节--登录逻辑及几种abp封装的Javascript函数库
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 简介 经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第五节--WBEAPI及SwaggerUI
一,Web API ABP的动态WebApi实现了直接对服务层的调用(其实病没有跨过ApiController,只是将ApiController公共化,对于这一点的处理类似于MVC,对服务端的 调用没 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第十一节--bootstrap table之用户管理列表
这张开始bootstrap table,引入项目有两种方法,一种是直接去官网下载 地址:http://bootstrap-table.wenzhixin.net.cn/ 另一种是Nuget引入. 然后 ...
随机推荐
- javascript封装的函数
/*获取一个指定长度随机数*/ csdn.random = function (len) { if (!len) len = 5; var r = Math.random().toString(); ...
- 剑指offer 练习题目
#include <iostream> #include<vector> #include <stack> #include<map> #include ...
- CSS input type="number"出现上下箭头时解决方案
input type="number"时录入内容不可控制,解决方案是在css中添加//火狐input[type=number] { -moz-appearance:tex ...
- Linux文件属性上
文件属性概述(ls -lhi) linux里一切皆文件Linux系统中的文件或目录的属性主要包括:索引节点(inode),文件类型,权限属性,链接数,所归属的用户和用户组,最近修改时间等内容: 解释: ...
- jzoj3760. 【BJOI2014】Euler
题目大意: 欧拉函数 φ(n) 定义为不超过正整数 n 并且与 n 互素的整数的数目. 可以证明 φ(n) = n ∗ ∏ (1 − 1 / pi). 其中 pi(1 <= i <= ...
- Perl初试
通过接口发送短信的socket小样: #!/usr/bin/perl -w # auth:lichmama@cnblogs.com # what:send message to phone # usa ...
- Machine Learning and Data Mining Lecture 1
Machine Learning and Data Mining Lecture 1 1. The learning problem - Outline 1.1 Example of mach ...
- Hibernate 集合映射 一对多多对一 inverse属性 + cascade级联属性 多对多 一对一 关系映射
1 . 集合映射 需求:购物商城,用户有多个地址. // javabean设计 // javabean设计 public class User { private int userId; privat ...
- Java编程思想总结笔记The first chapter
总觉得书中太啰嗦,看完总结后方便日后回忆,本想偷懒网上找别人的总结,无奈找不到好的,只好自食其力,尽量总结得最好. 第一章 对象导论 看到对象导论觉得这本书 目录: 1.1 抽象过程1.2 每个对象 ...
- PHP ORM笔记
1.ORM是什么? 经常听到程序员的面试中会问到对ORM的了解,但是一直不知道ORM是个什么鬼东西,知道有一天在百度上顺带看到才发现ORM就是我们平时在框架中一直使用的数据库对象操作.ORM(Obje ...