用户管理这块包含用户和用户组两部分。

用户组包括浏览 用户组列表,添加、修改、删除用户组等。按照前面思路系统是依据用户组来判断用户权限的,用户组的最主要目的是划分权限。权限这块以后单独在做。

下面实现用户组浏览。

首先还是打开Home/Header.cshtml,在<nav>添加代码

<a class="navbutton" href="javascript:void(0)" data-title="用户管理" data-west="@Url.Action("Menu", "User")" data-center="@Url.Action("Center", "User")">
<img src="~/Areas/Admin/Content/images/folder.png" />
用户管理</a>

下面添加用户控制器UserController,命名空间Ninesky.Areas.Admin.Controllers

添加Menu action

/// <summary>
/// 菜单
/// </summary>
/// <returns>局部视图</returns>
public ActionResult Menu()
{
return PartialView();
}

右键添加视图

<div id="westmenu" class="easyui-accordion">
<div title="用户" class="leftsidebar">
<ul>
<li>@Html.ActionLink("用户列表", "List", "User", null, new { @class = "westmenuitem" })</li>
</ul>
</div>
<div title="用户组" class="leftsidebar">
<ul>
<li>@Html.ActionLink("添加用户组", "Add", "UserGroup", null, new { @class = "westmenuitem" })</li>
<li>@Html.ActionLink("用户组列表", "List", "UserGroup", null, new { @class = "westmenuitem" })</li>
</ul>
</div>
</div>
<script type="text/javascript">
WestMenu();
</script>

完成看效果

然后添加用户组控制器UserGroupController,命名空间:Ninesky.Areas.Admin.Controllers。

先做一些前期准备工作。InterfaceUserGroup,命名空间Ninesky.Repository,代码如下:

using Ninesky.Models;
using System.Linq; namespace Ninesky.Repository
{
/// <summary>
/// 用户组接口
/// <remarks>
/// 版本v.10
/// 创建:2013.12.21
/// </remarks>
/// </summary>
interface InterfaceUserGroup
{
/// <summary>
/// 查找用户组
/// </summary>
/// <returns>所有栏目列表</returns>
IQueryable<UserGroup> Find(); /// <summary>
/// 查找用户组
/// </summary>
/// <param name="groupId">UserGroupId</param>
/// <returns>用户组</returns>
UserGroup Find(int groupId); }
}

然后添加UserGroupRepository继承自InterfaceUserGroup

using Ninesky.Models;
using System.Linq; namespace Ninesky.Repository
{
public class UserGroupRepository:InterfaceUserGroup
{
protected NineskyContext nContext = new NineskyContext(); public IQueryable<UserGroup> Find()
{
return nContext.UserGroups;
} public UserGroup Find(int gropuId)
{
return nContext.UserGroups.SingleOrDefault(ug => ug.UserGroupId == gropuId);
}
}
}

再添加InterfaceUserGroup接口,命名空间:Ninesky.Areas.Admin.Repository继承自 Ninesky.Repository.InterfaceUserGroup

namespace Ninesky.Areas.Admin.Repository
{
/// <summary>
/// 后台用户组接口
/// <remarks>
/// 版本v.10
/// 创建:2013.12.21
/// 修改:2013.12.22
/// </remarks>
/// </summary>
interface InterfaceUserGroup : Ninesky.Repository.InterfaceUserGroup
{
/// <summary>
/// 添加用户组
/// </summary>
/// <param name="userGroup">用户组</param>
/// <returns>是否成功</returns>
bool Add(UserGroup userGroup); /// <summary>
/// 删除用户组
/// </summary>
/// <param name="userGroup">用户组Id</param>
/// <returns>是否成功</returns>
bool Delete(UserGroup userGroup); /// <summary>
/// 修改用户组
/// </summary>
/// <param name="userGroup">用户组</param>
/// <returns>是否成功</returns>
bool Modify(UserGroup userGroup);
}
}

再添加UserGroupRepository类命名空间:Ninesky.Areas.Admin.Repository,继承自Ninesky.Repository.UserGroupRepository和InterfaceUserGroup

using Ninesky.Models;

namespace Ninesky.Areas.Admin.Repository
{
/// <summary>
/// 用户组接口实现
/// <remarks>
/// 版本v.10
/// 创建:2013.12.21
/// 修改:2013.12.23
/// </remarks>
/// </summary>
public class UserGroupRepository:Ninesky.Repository.UserGroupRepository,InterfaceUserGroup
{
public bool Add(UserGroup userGroup)
{
nContext.UserGroups.Add(userGroup);
return nContext.SaveChanges() > ;
} public bool Delete(UserGroup userGroup)
{
nContext.UserGroups.Attach(userGroup);
nContext.Entry<UserGroup>(userGroup).State = System.Data.EntityState.Deleted;
return nContext.SaveChanges() > ;
} public bool Modify(UserGroup userGroup)
{
nContext.UserGroups.Attach(userGroup);
nContext.Entry<UserGroup>(userGroup).State = System.Data.EntityState.Modified;
return nContext.SaveChanges() > ;
}
}
}

现在正式做界面,在UserGroupController控制器中添加List action

/// <summary>
/// 用户组列表
/// </summary>
/// <returns>分部视图</returns>
public ActionResult List()
{
return PartialView();
}

这个action没有提供任何数据。列表数据在采用ajax方式获取。再写个提供数据的action

/// <summary>
/// 用户列表【Json】
/// </summary>
/// <returns>Json类型</returns>
public ActionResult ListJson()
{
return Json(iUserGroup.Find());
}

右键添加视图

<div class="c_navbar">后台管理 >> 用户组管理</div>
<div class="fs_wapper">
<div class="header"></div>
<div>
<table class="easyui-datagrid" data-options="url:'@Url.Action("ListJson", "UserGroup")',fitColumns:true,singleSelect:true,onDblClickRow:function(){SetCenter('@Url.Content("~/Admin/UserGroup/Index")/'+($(this).datagrid('getSelected').UserGroupId));}">
<thead>
<tr>
<th data-options="field:'Name'">名称</th>
<th data-options="field:'Type'">类型</th>
<th data-options="field:'Description'">描述</th>
</tr>
</thead>
</table>
</div>
</div>

完工后的样子。

代码http://pan.baidu.com/s/1qWLeoos

MVC4做网站后台:用户管理 ——用户组的更多相关文章

  1. MVC4做网站后台:用户管理 ——用户组 2、查看、修改、删除用户组

    查看用户组资料和修改用户组资料结合在一起,在用户组列表双击查看用户组资料,修改资料点保存可以保存用户组,点删除可以删除用户组. 先在UserGroupController中添加 action publ ...

  2. MVC4做网站后台:用户管理 ——用户组 1、添加用户组

    打开控制器UserGroupController 添加Add action /// <summary> /// 添加用户组 /// </summary> /// <ret ...

  3. MVC4做网站后台:用户管理 ——用户组补充

    上次做完发现存在点问题. 1.是类型显示的为数字(如下图): 2.是不能根据类型进行查询. 首先做查询.easyui-datagrid可以添加toolbar. 在datagrid的data-optio ...

  4. MVC4做网站后台:用户管理 —用户

    这块进行用户管理,可以浏览.查询已注册的用户,修改用户资料,删除用户等.没有做添加用户,不知是否必要.列表页还是使用easyui的datagrid.这个思路跟用户组的方式差不多. 1.接口Interf ...

  5. MVC4做网站后台:模块管理1、修改模块信息

    网站可能会包含一些模块:像文章.产品.图片.留言等. 栏目模块主要实现功能,启用或禁用模块,模块权限设置,模块上传设置等. 权限设置和上传设置以后专门考虑,先来显示或禁用模块. 1.在顶部导航栏添加管 ...

  6. MVC4做网站后台:栏目管理2、修改栏目

    接上节添加栏目. 修改栏目与添加栏目非常相似,主要区别在于先向视图传递要修改栏目的model.另外在保存时比添加栏目验证要更多一些. 1.要验证父栏目不能是其本身: 2.父栏目不能是其子栏目: 3.父 ...

  7. MVC4做网站后台:栏目管理1、添加栏目

    把栏目添加删除跟前台混在一起结构清晰,现在有了后台管理的区域就把后台管理相关的代码分开. 要实现功能: 1.添加栏目 2.删除栏目 3.修改栏目信息 -- 一.开始 1.添加 接口InterfaceC ...

  8. MVC4做网站后台:栏目管理1、添加栏目-续

    栏目类型跟原来一样分为常规栏目.单页栏目和外部链接.根据栏目类型的不同要隐藏相应的表单和验证(服务器端验证).另外一个是父栏目必须是常规栏目才行,easyui-combotree要用到树形json数据 ...

  9. MVC4做网站后台:栏目管理3、删除栏目与左侧列表菜单

    一.左侧列表菜单 打开视图Menu.cshtml,增加部分见红框 在category中添加脚本 //栏目菜单加载完毕函数 function CategoryMenu_Ready() { $('#cat ...

随机推荐

  1. linux菜鸟日记

    本地yum源的安装: 要安装本地yum源,首先需要熟悉本地yum文件的配置和光盘的挂载 第一步挂载光盘: 首先需要指定一个光盘挂载目录 通常情况下我习惯使用默认挂载目录,所以一般我使用的光盘挂载命令是 ...

  2. Android中ListView的几种常见的优化方法

    Android中的ListView应该算是布局中几种最常用的组件之一了,使用也十分方便,下面将介绍ListView几种比较常见的优化方法: 首先我们给出一个没有任何优化的Listview的Adapte ...

  3. test imetro

    haha hahah2 hahah3 hahah4 text int main() { cout << "helloworld" << endl; } pi ...

  4. 解决弹出的窗口window.open会被浏览器阻止的问题

    问题现象 最近在做项目的时候碰到了使用window.open被浏览器拦截的情况,有时候会一直连接,有时候会偶尔拦截, 尝试了很多方法,走了很多弯路,总结一下结果分享大家 原因分析&深入研究 1 ...

  5. JQuery对象与DOM对象的区别与转换

      1.jQuery对象和DOM对象的区别 DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象; eg: var domObj ...

  6. 用.net在画出镂空图片

    最近的一个项目需要用到这个东西,冥思苦想了好几天.还是在同事的帮助下,完成此项难题,希望能够帮助以后的博友们 ! 废话不多说,先看看效果图吧. 首先写一下讲一下思路,首先画一张图,当你的背景,然后在图 ...

  7. 转载:Hadoop排序工具用法小结

    本文转载自Silhouette的文章,原文地址:http://www.dreamingfish123.info/?p=1102 Hadoop排序工具用法小结 发表于 2014 年 8 月 25 日 由 ...

  8. 在线Spirte图定位工具,自动生成CSS

    发现一个在线雪碧图中的图片地位的工具,并且能够自动生成css.spritecow 废话不多说,有图有真相:

  9. jasmine入门

    本文来自http://blog.fens.me/nodejs-jasmine-bdd 粉丝日志 张丹   前言TDD(Test Driven Development)测试驱动开发,是敏捷开发中提出的最 ...

  10. GIT 版本控制常用命令学习汇总

    GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...