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 ...
随机推荐
- 大数据技术之Flume
第1章 概述 1.1 Flume定义 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统.Flume基于流式架构,灵活简单. 1.2 Flume组成架构 ...
- ORACLE 日常维护命令手册
1查看数据库版本SELECT * FROM V$VERSION; 2查看数据库语言环境SELECT USERENV('LANGUAGE') FROM DUAL; 3查看ORACLE实例状态SELECT ...
- beanstalkd 启动跟停止
启动命令: nohup /usr/bin/beanstalkd -l xxx.xxx.xxx.xxx -p 11300 & >> /dev/null 2>&1 正常启 ...
- oralcle函数 AVG([distinct|all]x)
[功能]统计数据表选中行x列的平均值. [参数]all表示对所有的值求平均值,distinct只对不同的值求平均值,默认为all 如果有参数distinct或all,需有空格与x(列)隔开. [参数] ...
- python-----堡垒机前戏paramiko模块及进阶
堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: i ...
- oracle函数 INITCAP(c1)
[功能]返回字符串并将字符串的第一个字母变为大写,其它字母小写; [参数]c1字符型表达式 [返回]字符型 [示例] SQL> select initcap('smith abc aBC') u ...
- 3331: [BeiJing2013]压力
3331: [BeiJing2013]压力 LCA+树上差分,和之前类似的题差不多,就是多了个v-dcc缩点,唯一要注意的就是判断是否是割点,对于不是割点的点,如果他是起点或重点,ans++,和差分没 ...
- 详解如何在Laravel中增加自定义全局函数
http://www.php.cn/php-weizijiaocheng-383928.html 如何在Laravel中增加自定义全局函数?在我们的应用里经常会有一些全局都可能会用的函数,我们应该怎么 ...
- webstorm破解教程
1.下载地址 官网:https://www.jetbrains.com/webstorm/ 下载好之后按照提示安装即可,这里就不再多说了.下面直接说说如何使用补丁破解. 2.使用补丁破解 (http: ...
- 学习框架/对象onbeforeunload事件
1.有没有发现在一些表单提交页面,当我们点击页面某个链接要离开表单提交页面时会弹出一个提示信息,如下: 那么,这是提示是怎么产生的呢?代码如下: window.onbeforeunload=funct ...