ASP.NET MVC4.0+EF+LINQ+bui+bootstrap+网站+角色权限管理系统(2)
创建公共分页参数类Common/GridPager.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace MVCSystem.Web.Common
{
public class GridPager
{
public int limit{ get; set; }//每页行数
public int pageIndex { get; set; }//当前页是第几页 }
}
接下来删掉下图中的文件,并注释掉压缩合并包中(BundleConfig.cs)的链接,否则会报错

然后下载bui+bootstrap框架:http://pan.baidu.com/s/1qXsU07U,密码:p3r5,接下来要用它来改造系统
下载包解压把以下文件复制到Content文件下,如下图


为了测试,先手动对数据表添加几条数据



接下来就是开始创建后台管理的页面了【Areas/Admin】
Areas/Admin/Views/Shared/_Layout_Admin.cshtml
<!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
<link href="~/Content/assets/css/dpl-min.css" rel="stylesheet" type="text/css" />
<link href="~/Content/assets/css/bui-min.css" rel="stylesheet" type="text/css" />
<link href="~/Content/assets/css/main-min.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="~/Content/Css/bootstrap-responsive.css" />
<link rel="stylesheet" type="text/css" href="~/Content/Css/bootstrap.css" />
<link rel="stylesheet" type="text/css" href="~/Content/Css/style.css" />
<script type="text/javascript" src="~/Content/assets/js/jquery-1.8.1.min.js"></script>
<script type="text/javascript" src="~/Content/assets/js/bui-min.js"></script>
<script type="text/javascript" src="~/Content/assets/js/common/main-min.js"></script>
<script type="text/javascript" src="~/Content/assets/js/config-min.js"></script>
<script type="text/javascript" src="~/Content/Js/bootstrap.js"></script>
<script type="text/javascript" src="~/Content/Js/ckform.js"></script>
<script type="text/javascript" src="~/Content/Js/common.js"></script>
</head>
<body>
<div>
@RenderBody()
</div>
</body>
</html>
Areas/Admin/Controllers/BaseController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MVCSystem.Web.Common; namespace MVCSystem.Web.Areas.Admin.Controllers
{
public class BaseController : Controller
{
public MVCSystemContext db = new MVCSystemContext(); }
}
Areas/Admin/Controllers/UsersController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MVCSystem.Web.Common; namespace MVCSystem.Web.Areas.Admin.Controllers
{
public class UsersController : BaseController
{
//
// GET: /Admin/Users/ public ActionResult Index()
{
return View();
}
public JsonResult GetList(GridPager pager)
{
var aList = db.DB_UserProfiles.ToList();
var json = new
{
results = aList.Count,
rows = aList.Select(a => new
{
UserId = a.UserId,
UserName = a.UserName,
UserEmail = a.Email,
UserRole=getRoleName(a.UserId),
CZ = "<a href='/Admin/Users/UserProfilesSetRole/" + a.UserId + "' id='SetRole'>角色设置</a><a href='/Admin/Users/UserProfilesEdit/" + a.UserId + "' id='Edit'>编辑</a><a href='/Admin/Users/UserProfilesDelete/" + a.UserId + "' id='Delete'>删除</a>" }).Skip((pager.pageIndex - ) * pager.limit).Take(pager.limit).ToArray()
};
return Json(json, JsonRequestBehavior.AllowGet);
}
private string getRoleName(int UsId)
{
var gg = (from a in db.DB_UsersInRoles
join b in db.DB_Roles
on a.RoleId equals b.RoleId
group new { a, b } by new { a.UserId, b.RoleName } into kk
select new
{
userId = kk.Key.UserId,
roleName = kk.Key.RoleName
}).ToList();
var getRoleNameStr = String.Join("、", gg.Where(d => d.userId == UsId).Select(e => e.roleName).ToArray());
return getRoleNameStr;
} }
}
创建视图Areas/Admin/Views/Users/Index.cshtml
@using MVCSystem.Web;
@{
ViewBag.Title = "Index";
Layout = "~/Areas/Admin/Views/Shared/_Layout_Admin.cshtml";
}
<form class="form-inline definewidth m20" action="index.html" method="get">
用户名称:
<input type="text" name="username" id="username"class="abc input-default" placeholder="" value="">
<button type="submit" class="btn btn-primary">查询</button> <button type="button" class="btn btn-success" id="addnew">新增用户</button>
</form>
<div id="gridList" style=" width:96%;margin:10px auto;"> </div> <script type="text/javascript">
BUI.use(['bui/grid', 'bui/data'], function (Grid, Data) {
var Grid = Grid,
Store = Data.Store,
columns = [
{ title: '用户名', dataIndex: 'UserName', width: 100 },
{ title: '邮箱', dataIndex: 'UserEmail', width: 100 },
{ title: '用户角色', dataIndex: 'UserRole', width: 200 },
{ title: '操作', dataIndex: 'CZ', width: 200 }
]; var store = new Store({
url: '/Admin/Users/GetList',
autoLoad: true, //自动加载数据
pageSize: 3 // 配置分页数目
}),
grid = new Grid.Grid({
render: '#gridList',
columns: columns,
loadMask: true, //加载数据时显示屏蔽层
store: store,
// 底部工具栏
bbar: {
// pagingBar:表明包含分页栏
pagingBar: true
}
}); grid.render();
});
</script>
更改Areas/Admin/Views/Home/Index.cshtml视图,代码如下:
<!DOCTYPE HTML>
<html>
<head>
<title>后台管理系统</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="~/Content/assets/css/dpl-min.css" rel="stylesheet" type="text/css" />
<link href="~/Content/assets/css/bui-min.css" rel="stylesheet" type="text/css" />
<link href="~/Content/assets/css/main-min.css" rel="stylesheet" type="text/css" /> </head>
<body> <div class="header"> <div class="dl-title">
<!--<img src="/chinapost/Public/assets/img/top.png">-->
</div> <div class="dl-log">欢迎您,<span class="dl-log-user">root</span><a href="/chinapost/index.php?m=Public&a=logout" title="退出系统" class="dl-log-quit">[退出]</a>
</div>
</div>
<div class="content">
<div class="dl-main-nav">
<div class="dl-inform"><div class="dl-inform-title"><s class="dl-inform-icon dl-up"></s></div></div>
<ul id="J_Nav" class="nav-list ks-clear">
<li class="nav-item dl-selected"><div class="nav-item-inner nav-home">系统管理</div></li> <li class="nav-item dl-selected"><div class="nav-item-inner nav-order">业务管理</div></li> </ul>
</div>
<ul id="J_NavContent" class="dl-tab-conten"> </ul>
</div>
<script type="text/javascript" src="~/Content/assets/js/jquery-1.8.1.min.js"></script>
<script type="text/javascript" src="~/Content/assets/js/bui-min.js"></script>
<script type="text/javascript" src="~/Content/assets/js/common/main-min.js"></script>
<script type="text/javascript" src="~/Content/assets/js/config-min.js"></script>
<script>
BUI.use('common/main',function(){
var config = [
{id:'1',menu:[
{text:'系统管理',items:[
{id:'12',text:'机构管理',href:'Node/index.html'},
{id:'3',text:'角色管理',href:'Role/index.html'},
{id:'4',text:'用户管理',href:'Users'},
{id:'6',text:'菜单管理',href:'Menu/index.html'}
]}
]},
{id:'7',homePage : '9',menu:[
{text:'业务管理',items:[
{id:'9',text:'查询业务',href:'Node/index.html'}
]}
]}
];
new PageUtil.MainPage({
modulesConfig : config
});
});
</script>
</body>
</html>
然后运行项目,地址http://localhost:37275/admin/home#1/4,效果如下:

源码下载:http://www.yealuo.com/Sccnn/Detail?KeyValue=2f926407-f80b-4bff-a729-949a53efed7b
作者:boyzi007
出处:http://www.cnblogs.com/boyzi/
QQ:470797533
QQ交流群:364307742
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
ASP.NET MVC4.0+EF+LINQ+bui+bootstrap+网站+角色权限管理系统(2)的更多相关文章
- ASP.NET MVC4.0+EF+LINQ+bui+bootstrap+网站+角色权限管理系统(1)
本系列的的角色权限管理主要采用Dotnet MVC4工程内置的权限管理模块Simplemembership实现,主要有关文件是InitializeSimpleMembershipAttribute.c ...
- ASP.NET MVC4.0+EF+LINQ+bui+bootstrap+网站+角色权限管理系统(3)
接下来完成用户.角色的增删查改,以及用户角色.权限的设置 对用户表.角色表做了一些扩展如下[可以更加自己需要增减字段] 相应的M_UserProfile.cs.M_Roles.cs进行扩展 using ...
- ASP.NET MVC4.0+EF+LINQ+bui+bootstrap+网站+角色权限管理系统(4)
接下来就是菜单管理了,菜单分为两部分,一部分是菜单管理,另一部分是左边的树形菜单 数据库添加菜单表Menus USE [MVCSystem] GO /****** Object: Table [dbo ...
- ASP.NET MVC4.0+EF+LINQ+bui+bootstrap+网站+角色权限管理系统(开篇)
系统预览: 源码下载:http://www.yealuo.com/Home/Detail?KeyValue=2f926407-f80b-4bff-a729-949a53efed7b 创建项目,新手按步 ...
- ASP.NET MVC4.0+EF+LINQ+bui+网站+角色权限管理系统(6)
快过年了,公司事情忙,好几天没有继续写博客,今天开始写账户模块系统登录,账户管理以及登录日志, 首先新建登录日志数据表: USE [MVCSystem] GO /****** Object: Tabl ...
- ASP.NET MVC4.0+EF+LINQ+bui+网站+角色权限管理系统(7)
今天将使用Simplemembership进行权限控制 我们使用mvc的AuthorizeAttribute来实现对Controller and Action权限控制 看如下标为红色的代码片段: // ...
- ASP.NET MVC4.0+EF+LINQ+bui+网站+角色权限管理系统(5)
我参考了bui官网,里面提供了大量的接口案例和效果,之前下载的前端框架完全不需要bootstrap,所以从这一节开始,不再使用bootstrap(当然不想改变的也可以继续使用之前的框架,不影响使用), ...
- ASP.NET MVC4.0+ WebAPI+EasyUI+KnockOutJS快速开发框架 通用权限管理系统
1.基于 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发 2.采用MVC的框架模式,具有耦合性低.重用性高.生命周期成本低.可维护性高.有利软件 ...
- 翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 3
原文地址:http://ddmvc4.codeplex.com/ 原文名称:Design and Develop a website using ASP.NET MVC 4, EF, Knockout ...
随机推荐
- Directx11教程(57) 环境映射
原文:Directx11教程(57) 环境映射 建好skydome后,如果我们想让其中的某个物体,比如那个球体来映射出周围环境的蓝天白云(不包括自己附近的物体),该怎么做呢?此时可以把这个 ...
- 洛谷 P2486 [SDOI2011]染色 树链剖分
目录 题面 题目链接 题目描述 输入输出格式 输入格式 输出格式 输入输出样例 输入样例: 输出样例: 说明 思路 PushDown与Update Q AC代码 总结与拓展 题面 题目链接 P2486 ...
- tp5 上传视频到七牛云
废话少说直接上代码 html <!DOCTYPE html> <html> <head> <title></title> </head ...
- 开通了第一个博客,mark一下!
今日上网查询了不同的博客,包括csdn.掘金等,最终决定选择博客园.打算待前端学完后,自己建立一个博客,这段时间内先用博客园记录学习过程.经常总结.更新,相信坚持学习一定可以找到好工作!
- 《mysql必知必会》4笔记(存储过程、游标、触发器、事务、全球化本地化、权限、数据库维护、性能)
二十三:使用存储过程: 1:mysql 5添加了对存储过程的支持.很多时候,一个完整的操作需要多条语句才能完成.存储过程简单来说,就是为以后的使用而保存的一条或多条mysql语句的集合,可将其视为批文 ...
- 阿里云OSS同城冗余存储技术解析
一.背景 近年来,面对数字化转型带来的挑战,越来越多的企业开始将关键业务系统上云,也有更多的业务创新在云上,帮助企业实现业务增长,这些数据已经成为企业最重要的资产.资源.对于企业来说,如何确保宝贵的数 ...
- python 字典元素删减
- Python基础:07迭代器
迭代器是在版本 2.2 被加入Python 的,它为类序列对象提供了一个类序列的接口.Python 的迭代无缝地支持序列对象,而且它还允许迭代非序列类型,包括用户定义的对象.它的出现,对列表迭代.字典 ...
- Mac OSX原生读写NTFS功能开启方法
macOX系统内建的NTFS支持默认只能读不能写 原生读写NTFS,需要自行终端命令手动开启 1. 插上磁盘 此时Mac桌面应该会显示出插入的磁盘,但是当你想把文件拖入磁盘的时候,发现是不能拖进去的, ...
- SDUT-3334_数据结构实验之栈与队列七:出栈序列判定
数据结构实验之栈与队列七:出栈序列判定 Time Limit: 30 ms Memory Limit: 1000 KiB Problem Description 给一个初始的入栈序列,其次序即为元素的 ...