MVC4做網站后台:用戶管理 ——用戶組


用戶管理這塊包含用戶和用戶組兩部分。

用戶組包括瀏覽 用戶組列表,添加、修改、刪除用戶組等。按照前面思路系統是依據用戶組來判斷用戶權限的,用戶組的最主要目的是划分權限。權限這塊以后單獨在做。

下面實現用戶組瀏覽。

首先還是打開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>

image

下面添加用戶控制器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>

完成看效果

image

然后添加用戶組控制器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() > 0;
        }

        public bool Delete(UserGroup userGroup)
        {
            nContext.UserGroups.Attach(userGroup);
            nContext.Entry<UserGroup>(userGroup).State = System.Data.EntityState.Deleted;
            return nContext.SaveChanges() > 0;
        }

        public bool Modify(UserGroup userGroup)
        {
            nContext.UserGroups.Attach(userGroup);
            nContext.Entry<UserGroup>(userGroup).State = System.Data.EntityState.Modified;
            return nContext.SaveChanges() > 0;
        }
    }
}

現在正式做界面,在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>

image

完工后的樣子。

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM