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引入. 然后 ...
随机推荐
- 使用kindlegen实现自主文件发送
最近入手一部kindle,本着努力学习的想法,想通过它来提高自己的英文阅读水平,不过,入手之后,发现用来看杂文的时间远大于看英文文章的时间,时间罪过,为了减轻自己的负罪感,决定要用它来实现最初的作用, ...
- jq和js插件的各个文件夹里放置的内容
1. demo文件夹,存放各种实例. 2. dist文件夹,全称是distribution.在某些框架中,因为开发和发布的内容或者代码形式是不一样的(比如利用Grunt压缩等等),这时候就需要一个存放 ...
- [leetcode-530-Minimum Absolute Difference in BST]
Given a binary search tree with non-negative values, find the minimum absolute difference between va ...
- 【LeetCode】237. Delete Node in a Linked List
题目: Write a function to delete a node (except the tail) in a singly linked list, given only access t ...
- Java多线程(一) —— 线程的状态详解
一.多线程概述 1. 进程 是一个正在执行的程序.是程序在计算机上的一次运行活动. 每一个进程执行都有一个执行顺序.该顺序是一个执行路径,或者叫一个控制单元. 系统以进程为基本单位进行系统资源的调度 ...
- Mongodb 参数说明及常见错误处理
在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录:cd /usr/local 3 在当前目录下 ...
- angularJS 源码阅读之一:toDebugString
简介: 这个函数返回调试字符串: number,boolean,string,null,undefined,都会转为字符串. function 中括号前面有空格的,会去除函数体,没空格的,会输出函数的 ...
- window.onload的使用心得
如果我问你window.onload是什么意思,恐怕你会回答我:"这不是页面加载完就执行吗". 但是答案是不一定,得看你怎么用.看一下例子吧 例1: 代码如下: <! ...
- php七牛批量删除空间内的所有文件方法
相信大家都在使用七牛的免费云存储服务的同时,有清空七牛云存储镜像文件或者批量删除七牛云空间文件的需求,该怎么做?官方的工具好像并没有提供批量删除的功能,七牛云官方给出的建议是删除空间,再新建一个这样太 ...
- Chrome浏览器扩展开发系列之十二:Content Scripts
Content Scripts是运行在Web页面的上下文的JavaScript文件.通过标准的DOM,Content Scripts 可以操作(读取并修改)浏览器当前访问的Web页面的内容. Cont ...