溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ASP.NET.4.5.1+MVC5.0設(shè)置系統(tǒng)角色與權(quán)限

發(fā)布時(shí)間:2020-08-06 09:36:10 來源:網(wǎng)絡(luò) 閱讀:844 作者:iioios8l 欄目:編程語言

Controller代碼

public class SystemUserController : Controller

    {

        //public void Log()

        //{

        //    string meg = "";

        //    int user = int.Parse(CookieHelper.GetValue("SysUserID"));

        //    string ip = IPHelper.GetUserIp;

        //    foreach (var item in RouteData.Values)

        //    {

        //        meg += item.Key.ToUpper() + ":" + item.Value + "|";

        //    }

        //    AuditLogConfig.InsertAuditLog(meg, user, ip);

        //}

        SystemUserRepository sysuserrepository = new SystemUserRepository();

        RoleRepository roleryrepository = new RoleRepository();

        DepartmentRepository departmentryrepository = new DepartmentRepository();

        JobRepository jobryrepository = new JobRepository();

        #region 列表頁

        /// <summary>

        /// 列表頁

        /// </summary>

        /// <param name="page">當(dāng)前頁</param>

        /// <returns></returns>

        [Authorize]

        public ActionResult Index(int? page)

        {

            ViewBag.ControllerName=RouteData.Values["controller"].ToString().ToLower();

            CookieHelper.Del("LogName");

            var source = sysuserrepository.GetPageModelList(10, page ?? 1, -1);

            return View(source);

        }

        #endregion

        #region 添加管理員

        /// <summary>

        /// 添加頁

        /// </summary>

        /// <param name="model">管理員實(shí)體類</param>

        /// <returns></returns>

        [Authorize]

        public ActionResult Add(SystemUser model)

        {

            ViewBag.ControllerName = RouteData.Values["controller"].ToString().ToLower();

            var rolelist = roleryrepository.GetModelListByState(1);

            ViewBag.RoleID = SelectListExtension.ToSelectList(rolelist, d => d.RoleName, d => d.RoleID.ToString());

            var departmentlist = departmentryrepository.GetModelListByState(1);

            ViewBag.DepartmentID = SelectListExtension.ToSelectList(departmentlist, d => d.DepartmentName, d => d.DepartmentID.ToString());

            var joblist = jobryrepository.GetModelListByState(1);

            ViewBag.JobID = SelectListExtension.ToSelectList(joblist, d => d.JobName, d => d.JobID.ToString());

            // ViewData["State"] = SelectListHelper.GetIsOrNoSelectList(0);

            return View();

        }

        /// <summary>

        /// 添加事件

        /// </summary>

        /// <param name="model">實(shí)體類</param>

        /// <param name="fc"></param>

        /// <returns></returns>

        [Authorize, HttpPost, ValidateInput(false)]

        public ActionResult Add(SystemUser model, FormCollection fc)

        {

            model.State = 1;

            model.CreateTime = DateTime.Now;

            sysuserrepository.SaveOrEditModel(model);

            return RedirectToAction("Index");

        }

        #endregion

        #region 刪除

        /// <summary>

        /// 刪除

        /// </summary>

        /// <param name="id">刪除編號(hào)</param>

        /// <returns></returns>

        [Authorize]

        public ActionResult Delete(int id)

        {

            try

            {

                var model = sysuserrepository.GetModel(id);

                if (model != null)

                {

                    sysuserrepository.DeleteModel(id);

                    return RedirectToAction("Index");

                }

                else

                    return View("404");

                //throw new Exception("方法出錯(cuò)!");

            }

            catch (Exception ex)

            {

                Log4netHelper.InvokeErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "刪除方法出錯(cuò)-Author:ryanding IP地址[" + IPHelper.GetUserIp + "]" + "操作人ID:" + CookieHelper.GetValue("SystemUserID"), ex);

                return View("404");

            }

        }

        #endregion

        #region 查詢

        [Authorize]

        public ActionResult Search(int? page)

        {

            string logname = "";

            if (page == null)

            {

                logname = Request.Form["KeyWord"];


                CookieHelper.SetObj("KeyWord", 0, logname);

            }

            else

                logname = CookieHelper.GetValue("KeyWord");

            var query = QueryBuilder.Create<SystemUser>().Like(d => d.LogName, logname);

            var source = sysuserrepository.GetModelList().Where(query.Expression);

            return View(new Pager<SystemUser>(source, page ?? 1));

        }

        #endregion

        #region 編輯

        [Authorize]

        public ActionResult Edit(int id)

        {

            ViewBag.ControllerName = RouteData.Values["controller"].ToString().ToLower();

            var model = sysuserrepository.GetModel(id);

            if (model != null)

            {

                var rolelist = roleryrepository.GetModelListByState(1);

                ViewBag.RoleID = SelectListExtension.ToSelectList(rolelist, d => d.RoleName, d => d.RoleID.ToString(),model.RoleID);

                var departmentlist = departmentryrepository.GetModelListByState(1);

                ViewBag.DepartmentID = SelectListExtension.ToSelectList(departmentlist, d => d.DepartmentName, d => d.DepartmentID.ToString(), model.DepartmentID);

                var joblist = jobryrepository.GetModelListByState(1);

                ViewBag.JobID = SelectListExtension.ToSelectList(joblist, d => d.JobName, d => d.JobID.ToString(), model.JobID);

                ViewData["State"] = SelectListHelper.GetStateSelectList(model.State);

                return View(model);

            }

            else

                return View("404");

        }

        [Authorize, AcceptVerbs(HttpVerbs.Post), ValidateInput(false)]

        public ActionResult Edit(int id, FormCollection fc)

        {

            var model = sysuserrepository.GetModel(id);

            if (model != null)

            {

                string password = model.Password;

                if (Request.Form["PassWord"] != "")

                {

                    UpdateModel(model);

                    sysuserrepository.SaveOrEditModel(model);

                }

                else

                {

                    UpdateModel(model);

                    model.Password = password;

                    sysuserrepository.SaveOrEditModel(model);

                }

                return RedirectToAction("index");

            }

            else

                return View("404");

        }

        #endregion

        #region 用戶名是否可用

        //檢測(cè)用戶名是否可用

        [HttpPost]

        public ActionResult GetUsers(string param, string name)

        {

            if (sysuserrepository.IsExist(param))

                return Content("y");

            else

                return Content("用戶名已存在");

        }

        #endregion

        public bool Login()

        {

            try

            {

                //TODO:

                throw new Exception("方法出錯(cuò)!");

            }

            catch (Exception ex)

            {

                Log4netHelper.InvokeErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "登錄方法Login出錯(cuò)-Author:ryanding IP地址[" + IPHelper.GetUserIp + "]" + "操作人ID:" + CookieHelper.GetValue("SystemUserID"), ex);

                return false;

            }

            return true;

        }

    }



View代碼


Index.cshtml

@{

    ViewBag.Title = "Index";

    Layout = "~/Views/Shared/_Layout.cshtml";

}

@model SJCRM.Helpers.Pager<SJCRM.Models.SystemUser>

<div class="contrgcon">

    <div class="contrg_list">

        <div class="rgtit">

            <form method="post" action="/@ViewBag.ControllerName/search">

                <dl>

                    <dd>關(guān)鍵詞:</dd>

                    <dd>

                        <input name="KeyWord" type="text" class="rgtxt2" /></dd>

                    <dd>

                        <input type="submit" value="查 詢" class="rgbut1" /></dd>

                </dl>

            </form>

        </div>

        <div class="rgc">

            <dl class="rgt11">

                <dt>

                    <span class="sple"><a href="/systemuser/add">添加用戶</a></span>

                </dt>

            </dl>

            <div class="rg3">

                <table width="100%" border="0" cellspacing="0" cellpadding="0">

                    <tr>

                        <td class="rgtd2">用戶編號(hào)</td>

                        <td class="rgtd3">登錄名</td>

                        <td class="rgtd3">手機(jī)</td>

                        <td class="rgtd3">Email</td>

                        <td class="rgtd3">昵稱</td>

                        <td class="rgtd3">狀態(tài)</td>

                        <td class="rgtd4">操作</td>

                    </tr>

                </table>

            </div>

            <div class="rg4">

                @{int classnum = 1;}

                @foreach (var item in Model)

                {

                    <table width="100%" border="0" cellspacing="0" cellpadding="0" @if (classnum % 2 == 0)

                                                                                   {<text>class="rgbg2"</text>}>

                        <tr>

                            <td class="rgtd2">@item.SystemUserID</td>

                            <td class="rgtd3">@(item.LogName)</td>

                            <td class="rgtd3">@item.Mobile</td>

                            <td class="rgtd3">@item.Email</td>

                            <td class="rgtd3">@item.TrueName</td>

                            <td class="rgtd3">@(item.State == 1 ? "有效" : "無效")</td>

                            <td class="rgtd4"><a href="/systemuser/delete/@item.SystemUserID">刪除</a> | <a href="/systemuser/edit/@item.SystemUserID">編輯</a>  </td>

                        </tr>

                    </table>

                                                                                   classnum = classnum + 1;

                }

            </div>

        </div>

        <div class="rg5">

            @UIHelper.PagesHelper(ViewBag.ControllerName, Model.TotalPages, Model.PageIndex, Model.PageSize, Model.TotalCount, Model.HasPreviousPage, Model.HasNextPage, Model.PageList)

        </div>

    </div>

</div>

<script>

    //菜單顯示

    $("#@(ViewBag.ControllerName)sys").addClass("hbg");

    $("#@(ViewBag.ControllerName)").removeClass("navli");

    $("#@(ViewBag.ControllerName)").addClass("navlihg");

    $(".@(ViewBag.ControllerName)sys").each(function (index, item) {

        $(this).show();

    });

</script>



Add.cshtml

@{

    ViewBag.Title = "Add";

    Layout = "~/Views/Shared/_Layout.cshtml";

}

<div class="contrgcon">

    <div class="rgtit3">

        <div class="tit1">

            <h4>添加用戶</h4>

        </div>

        <div class="rgtit3con">

            @using (Html.BeginForm())

            {

                <dl>

                    <dd class="dc1">用戶名:</dd>

                    <dd>

                        <input name="LogName" type="text" class="rgtxt2" datatype="*" nullmsg="請(qǐng)輸入產(chǎn)品名稱" />

                    </dd>

                </dl>

                <dl>

                    <dd class="dc1">昵稱:</dd>

                    <dd>

                        <input name="TrueName" type="text" class="rgtxt2" datatype="n" nullmsg="請(qǐng)輸入產(chǎn)品名稱" />

                    </dd>

                </dl>

                <dl>

                    <dd class="dc1">Email:</dd>

                    <dd>

                        <input type="text" name="Email" id="Email" class="rgtxt2" />

                    </dd>

                </dl>

                <dl>

                    <dd class="dc1">手機(jī)號(hào):</dd>

                    <dd>

                        <input type="text" name="Mobile" id="Mobile" class="rgtxt2" />

                    </dd>

                </dl>

                <dl>

                    <dd class="dc1">密碼:</dd>

                    <dd>

                        <input type="text" name="Password" id="Password" class="rgtxt2" />

                    </dd>

                </dl>

                <dl>

                    <dd class="dc1">確認(rèn)密碼:</dd>

                    <dd>

                        <input type="text" name="PassWordto" id="PassWordto" class="rgtxt2" />

                    </dd>

                </dl>

                <dl>

                    <dd class="dc1">崗位:</dd>

                    <dd>

                        @Html.DropDownList("JobID", ViewBag.JobID as SelectList)

                    </dd>

                </dl>

                <dl>

                    <dd class="dc1">部門:</dd>

                    <dd>

                         @Html.DropDownList("DepartmentID", ViewBag.DepartmentID as SelectList)

                    </dd>

                </dl>

                <dl>

                    <dd class="dc1">角色:</dd>

                    <dd>

                         @Html.DropDownList("RoleID", ViewBag.RoleID as SelectList)

                    </dd>

                </dl>

                <dl>

                    <dd>

                        <input type="submit" value="提 交" class="rgbut4" />

                    </dd>

                </dl>

            }

        </div>

    </div>

</div>

<script>

    //菜單顯示

    $("#@(ViewBag.ControllerName)sys").addClass("hbg");

    $("#@(ViewBag.ControllerName)").removeClass("navli");

    $("#@(ViewBag.ControllerName)").addClass("navlihg");

    $(".@(ViewBag.ControllerName)sys").each(function (index, item) {

        $(this).show();

    });

</script>



Edit.cshtml

@{

    ViewBag.Title = "Add";

    Layout = "~/Views/Shared/_Layout.cshtml";

}

@model SJCRM.Models.SystemUser

<div class="contrgcon">

    <div class="rgtit3">

        <div class="tit1">

            <h4>編輯用戶</h4>

        </div>

        <div class="rgtit3con">

            @using (Html.BeginForm())

            {

                <dl>

                    <dd class="dc1">用戶名:</dd>

                    <dd>

                        <input name="LogName" type="text" class="rgtxt2" datatype="*" nullmsg="請(qǐng)輸入產(chǎn)品名稱" value="@Model.LogName"/>

                    </dd>

                </dl>

                <dl>

                    <dd class="dc1">昵稱:</dd>

                    <dd>

                        <input name="TrueName" type="text" class="rgtxt2" datatype="n" nullmsg="請(qǐng)輸入產(chǎn)品名稱" value="@Model.TrueName" />

                    </dd>

                </dl>

                <dl>

                    <dd class="dc1">Email:</dd>

                    <dd>

                        <input type="text" name="Email" id="Email" class="rgtxt2" value="@Model.Email" />

                    </dd>

                </dl>

                <dl>

                    <dd class="dc1">手機(jī)號(hào):</dd>

                    <dd>

                        <input type="text" name="Mobile" id="Mobile" class="rgtxt2" value="@Model.Mobile" />

                    </dd>

                </dl>

                <dl>

                    <dd class="dc1">修改密碼:</dd>

                    <dd>

                        <input type="text" name="Password" id="Password" class="rgtxt2" value="@Model.Password" />

                    </dd>

                </dl>

                <dl>

                    <dd class="dc1">崗位:</dd>

                    <dd>

                        @Html.DropDownList("JobID", ViewBag.JobID as SelectList)

                    </dd>

                </dl>

                <dl>

                    <dd class="dc1">部門:</dd>

                    <dd>

                         @Html.DropDownList("DepartmentID", ViewBag.DepartmentID as SelectList)

                    </dd>

                </dl>

                <dl>

                    <dd class="dc1">角色:</dd>

                    <dd>

                         @Html.DropDownList("RoleID", ViewBag.RoleID as SelectList)

                    </dd>

                </dl>

                <dl>

                    <dd>

                        <input type="submit" value="提 交" class="rgbut4" />

                    </dd>

                </dl>

            }

        </div>

    </div>

</div>

<script>

    //菜單顯示

    $("#@(ViewBag.ControllerName)sys").addClass("hbg");

    $("#@(ViewBag.ControllerName)").removeClass("navli");

    $("#@(ViewBag.ControllerName)").addClass("navlihg");

    $(".@(ViewBag.ControllerName)sys").each(function (index, item) {

        $(this).show();

    });

</script>



Search.cshtml

@{

    ViewBag.Title = "Index";

    Layout = "~/Views/Shared/_Layout.cshtml";

}

@model SJCRM.Helpers.Pager<SJCRM.Models.SystemUser>

<div class="contrgcon">

    <div class="contrg_list">

        <div class="rgtit">

            <form method="post" action="/@ViewBag.ControllerName/search">

                <dl>

                    <dd>關(guān)鍵詞:</dd>

                    <dd>

                        <input name="KeyWord" type="text" class="rgtxt2" /></dd>

                    <dd>

                        <input type="submit" value="查 詢" class="rgbut1" /></dd>

                </dl>

            </form>

        </div>

        <div class="rgc">

            <dl class="rgt11">

                <dt>

                    <span class="sple"><a href="/systemuser/add">添加用戶</a></span>

                </dt>

            </dl>

            <div class="rg3">

                <table width="100%" border="0" cellspacing="0" cellpadding="0">

                    <tr>

                        <td class="rgtd2">用戶編號(hào)</td>

                        <td class="rgtd3">登錄名</td>

                        <td class="rgtd3">手機(jī)</td>

                        <td class="rgtd3">Email</td>

                        <td class="rgtd3">昵稱</td>

                        <td class="rgtd3">狀態(tài)</td>

                        <td class="rgtd4">操作</td>

                    </tr>

                </table>

            </div>

            <div class="rg4">

                @{int classnum = 1;}

                @foreach (var item in Model)

                {

                    <table width="100%" border="0" cellspacing="0" cellpadding="0" @if (classnum % 2 == 0)

                                                                                   {<text>class="rgbg2"</text>}>

                        <tr>

                            <td class="rgtd2">@item.SystemUserID</td>

                            <td class="rgtd3">@(item.LogName)</td>

                            <td class="rgtd3">@item.Mobile</td>

                            <td class="rgtd3">@item.Email</td>

                            <td class="rgtd3">@item.TrueName</td>

                            <td class="rgtd3">@(item.State == 1 ? "有效" : "無效")</td>

                            <td class="rgtd4"><a href="/systemuser/delete/@item.SystemUserID">刪除</a> | <a href="/systemuser/edit/@item.SystemUserID">編輯</a>  </td>

                        </tr>

                    </table>

                                                                                   classnum = classnum + 1;

                }

            </div>

        </div>

    </div>

</div>

<script>

    //菜單顯示

    $("#@(ViewBag.ControllerName)sys").addClass("hbg");

    $("#@(ViewBag.ControllerName)").removeClass("navli");

    $("#@(ViewBag.ControllerName)").addClass("navlihg");

    $(".@(ViewBag.ControllerName)sys").each(function (index, item) {

        $(this).show();

    });

</script>



 角色管理




Controller代碼

public class RoleController : Controller

   {

       RoleRepository roleryrepository = new RoleRepository();

       MenuRepository menurepository = new MenuRepository();

       RoleMenuMappingRepository rmmrepositoy = new RoleMenuMappingRepository();

       #region 列表

       /// <summary>

       /// 默認(rèn)頁面

       /// </summary>

       /// <returns></returns>

       /// 

       [Authorize]

       public ActionResult Index(int? page)

       {

           ViewBag.ControllerName = RouteData.Values["controller"].ToString().ToLower();

           var source = roleryrepository.GetModelList();

           return View(roleryrepository.GetPageModelList(source, 10, page ?? 1));

       }

       #endregion

       #region 添加

       /// <summary>

       /// 添加頁

       /// </summary>

       /// <param name="model">實(shí)體類</param>

       /// <returns></returns>

       [Authorize]

       public ActionResult Add(Role model)

       {

           ViewBag.ControllerName = RouteData.Values["controller"].ToString().ToLower();

           var menu = menurepository.GetModelListByState(1);

           ViewBag.Menu = new SelectList(menu, "MenuID", "MenuName");

           // ViewData["State"] = SelectListHelper.GetIsOrNoSelectList(0);

           return View();

       }

       public string Log()

       {

           string meg = "";

           //int user = int.Parse(CookieHelper.GetValue("SysUserID"));

           //string ip = IPHelper.GetUserIp;

           foreach (var item in RouteData.Values)

           {

               meg += item.Key.ToUpper() + ":" + item.Value + "|";

           }

           return meg;

       }

       /// <summary>

       /// 添加事件

       /// </summary>

       /// <param name="model">實(shí)體類</param>

       /// <param name="fc"></param>

       /// <returns></returns>

       [Authorize, HttpPost, ValidateInput(false)]

       public ActionResult Add(Role model, FormCollection fc, int[] Menu)

       {

           try

           {

               ViewBag.ControllerName = RouteData.Values["controller"].ToString().ToLower();

               model.State = 1;

               model.CreateTime = DateTime.Now;

               roleryrepository.SaveOrEditModel(model);

               if (Menu.Length > 0)

               {

                   foreach (int gsi in Menu)

                   {

                       RoleMenuMapping rmm = new RoleMenuMapping();

                       rmm.MenuID = gsi;

                       rmm.RoleID = model.RoleID;

                       rmmrepositoy.SaveOrEditModel(rmm);

                   }

               }

               else

               {

                   return RedirectToAction("Index");

               }

           }

           catch (Exception ex)

           {

               Log4netHelper.InvokeErrorLog(MethodBase.GetCurrentMethod().DeclaringType, ViewBag.ControllerName + "添加方法出錯(cuò)-Author:ryanding IP地址[" + IPHelper.GetUserIp + "]" + "操作人ID:" + CookieHelper.GetValue("SystemUserID") + "當(dāng)前來源信息:" + Log(), ex);

           }

           return View("404");

       }

       #endregion

       #region 刪除

       /// <summary>

       /// 刪除

       /// </summary>

       /// <param name="id">刪除編號(hào)</param>

       /// <returns></returns>

       [Authorize]

       public ActionResult Delete(int id)

       {

           ViewBag.ControllerName = RouteData.Values["controller"].ToString().ToLower();

           var model = roleryrepository.GetModel(id);

           model.State = 0;

           if (model != null)

           {

               roleryrepository.SaveOrEditModel(model);

               return RedirectToAction("index");

           }

           else

               return View("404");

       }

       #endregion

       #region 查詢

       [Authorize]

       public ActionResult Search(int? page)

       {

           ViewBag.ControllerName = RouteData.Values["controller"].ToString().ToLower();

           string name = "";

           if (page == null)

           {

               name = Request.Form["KeyWord"];

               CookieHelper.SetObj("KeyWord", 0, name);

           }

           else

               name = CookieHelper.GetValue("KeyWord");

           var query = QueryBuilder.Create<Role>().Like(d => d.RoleName, name);

           var source = roleryrepository.GetModelList().Where(query.Expression);

           return View(new Pager<Role>(source, page ?? 1, 10));

       }

       #endregion

       #region 編輯

       [Authorize]

       public ActionResult Edit(int id)

       {

           ViewBag.ControllerName = RouteData.Values["controller"].ToString().ToLower();

           var rmmList = rmmrepositoy.GetModelList().Where(d => d.RoleID == id);

           var menu = menurepository.GetModelListByState(1);

           ViewBag.Menu = new SelectList(menu, "MenuID", "MenuName", string.Join(",", rmmList.Select(p => p.MenuID)));

           var model = roleryrepository.GetModel(id);

           if (model != null)

           {

               ViewData["State"] = SelectListHelper.GetStateSelectList(model.State);

               return View(model);

           }

           else

               return View("404");

       }

       [Authorize, AcceptVerbs(HttpVerbs.Post), ValidateInput(false)]

       public ActionResult Edit(int id, FormCollection fc, int[] Menu)

       {

           ViewBag.ControllerName = RouteData.Values["controller"].ToString().ToLower();

           var model = roleryrepository.GetModel(id);

           if (model != null)

           {

               if (Menu.Length > 0)

               {

                   rmmrepositoy.DeleteModel(rmmrepositoy.GetModelList().Where(d => d.RoleID == model.RoleID));

                   foreach (int gsi in Menu)

                   {

                       RoleMenuMapping rmm = new RoleMenuMapping();

                       rmm.MenuID = gsi;

                       rmm.RoleID = model.RoleID;

                       rmmrepositoy.SaveOrEditModel(rmm);

                   }

               }

               UpdateModel(model);

               roleryrepository.SaveOrEditModel(model);

               return RedirectToAction("index");

           }

           else

               return View("404");

       }

       #endregion

   }



View代碼


Index.cshtml

@{

    ViewBag.Title = "Index";

    Layout = "~/Views/Shared/_Layout.cshtml";

}

@model SJCRM.Helpers.Pager<SJCRM.Models.Role>

<div class="contrgcon">

    <div class="contrg_list">

        <div class="rgtit">

            <form method="post" action="/@ViewBag.ControllerName/search">

                <dl>

                    <dd>關(guān)鍵詞:</dd>

                    <dd>

                        <input name="KeyWord" type="text" class="rgtxt2" /></dd>

                    <dd>

                        <input type="submit" value="查 詢" class="rgbut1" /></dd>

                </dl>

            </form>

        </div>

        <div class="rgc">

            <dl class="rgt11">

                <dt>

                   <span class="sple"><a href="/@ViewBag.ControllerName/add">添加</a></span>

                </dt>

            </dl>

            <div class="rg3">

                <table width="100%" border="0" cellspacing="0" cellpadding="0">

                    <tr>

                        <td class="rgtd2">編號(hào)</td>

                        <td class="rgtd2">角色名稱</td>

                        <td class="rgtd3">角色內(nèi)容</td>

                        <td class="rgtd3">創(chuàng)建時(shí)間</td>

                        <td class="rgtd3">狀態(tài)</td>

                        <td class="rgtd4">操作</td>

                    </tr>

                </table>

            </div>

            <div class="rg4">

                @{int classnum = 1;}

                @foreach (var item in Model)

                {

                    <table width="100%" border="0" cellspacing="0" cellpadding="0" @if (classnum % 2 == 0)

                                                                                   {<text>class="rgbg2"</text>}>

                        <tr>

                            <td class="rgtd2">@item.RoleID</td>

                            <td class="rgtd2">@item.RoleName</td>

                            <td class="rgtd3">@item.RoleContent</td>

                            <td class="rgtd3">@String.Format("{0:yyyy-MM-dd}", item.CreateTime)</td>

                            <td class="rgtd3">@(item.State == 1 ? "有效" : "無效")</td>

                            <td class="rgtd4"><a href="/@ViewBag.ControllerName/delete/@item.RoleID">刪除</a> | <a href="/@ViewBag.ControllerName/edit/@item.RoleID">編輯</a>  </td>

                        </tr>

                    </table>

                                                                                   classnum = classnum + 1;

                }

            </div>

        </div>

        <div class="rg5">

           @UIHelper.PagesHelper(ViewBag.ControllerName, Model.TotalPages, Model.PageIndex, Model.PageSize, Model.TotalCount, Model.HasPreviousPage, Model.HasNextPage, Model.PageList);

        </div>

    </div>

</div>

<script>

    //菜單顯示

    $("#systemusersys").addClass("hbg");

    $("#@(ViewBag.ControllerName)").removeClass("navli");

    $("#@(ViewBag.ControllerName)").addClass("navlihg");

    $(".systemusersys").each(function (index, item) {

        $(this).show();

    });

</script>



Add.cshtml

@using SJCRM.Helpers

@{

    ViewBag.Title = "Add";

    Layout = "~/Views/Shared/_Layout.cshtml";

}

<div class="contrgcon">

    <div class="rgtit3">

        <div class="tit1">

            <h4>添加</h4>

        </div>

        <div class="rgtit3con">

            @using (Html.BeginForm())

            {

                <dl>

                    <dd class="dc1">角色名稱:</dd>

                    <dd>

                        <input name="RoleName" type="text" class="rgtxt2" datatype="*" nullmsg="請(qǐng)輸入名稱" />

                    </dd>

                </dl>

      <dl>

                    <dd class="dc1">角色權(quán)限:</dd>

                    <dd>

                        @Html.CheckBoxList("Menu")

                    </dd>

                </dl>

                <dl>

                    <dd class="dc1">角色內(nèi)容:</dd>

                    <dd>

                         <textarea rows="10" cols="82" name="RoleContent" id="RoleContent"></textarea>

                    </dd>

                </dl>

                <dl>

                    <dd>

                        <input type="submit" value="提 交" class="rgbut4" />

                    </dd>

                </dl>

            }

        </div>

    </div>

</div>

<script>

    //菜單顯示

    $("#systemusersys").addClass("hbg");

    $("#@(ViewBag.ControllerName)").removeClass("navli");

    $("#@(ViewBag.ControllerName)").addClass("navlihg");

    $(".systemusersys").each(function (index, item) {

        $(this).show();

    });

</script>



Edit.cshtml

 @using SJCRM.Helpers

 @{

     ViewBag.Title = "Add";

     Layout = "~/Views/Shared/_Layout.cshtml";

 }

 @model SJCRM.Models.Role

 <div class="contrgcon">

     <div class="rgtit3">

         <div class="tit1">

             <h4>編輯</h4>

         </div>

         <div class="rgtit3con">

             @using (Html.BeginForm())

             {

                 <dl>

                     <dd class="dc1">角色名稱:</dd>

                     <dd>

                         <input name="RoleName" type="text" class="rgtxt2" datatype="*" nullmsg="請(qǐng)輸入名稱" value="@Model.RoleName"/>

                     </dd>

                 </dl>

       <dl>

                     <dd class="dc1">角色權(quán)限:</dd>

                     <dd>

                         @Html.CheckBoxList("Menu")

                     </dd>

                 </dl>

                 <dl>

                     <dd class="dc1">角色內(nèi)容:</dd>

                     <dd>

                          <textarea rows="10" cols="82" name="RoleContent" id="RoleContent">@Model.RoleName</textarea>

                     </dd>

                 </dl>

                 <dl>

                     <dd>

                         <input type="submit" value="提 交" class="rgbut4" />

                     </dd>

                 </dl>

             }

         </div>

     </div>

 </div>

 <script>

     //菜單顯示

     $("#systemusersys").addClass("hbg");

     $("#@(ViewBag.ControllerName)").removeClass("navli");

     $("#@(ViewBag.ControllerName)").addClass("navlihg");

     $(".systemusersys").each(function (index, item) {

         $(this).show();

     });

 </script>



Search.cshtml

@{

    ViewBag.Title = "Index";

    Layout = "~/Views/Shared/_Layout.cshtml";

}

@model SJCRM.Helpers.Pager<SJCRM.Models.Role>

<div class="contrgcon">

    <div class="contrg_list">

        <div class="rgtit">

            <form method="post" action="/@ViewBag.ControllerName/search">

                <dl>

                    <dd>關(guān)鍵詞:</dd>

                    <dd>

                        <input name="KeyWord" type="text" class="rgtxt2" /></dd>

                    <dd>

                        <input type="submit" value="查 詢" class="rgbut1" /></dd>

                </dl>

            </form>

        </div>

        <div class="rgc">

            <dl class="rgt11">

                <dt>

                   <span class="sple"><a href="/@ViewBag.ControllerName/add">添加</a></span>

                </dt>

            </dl>

            <div class="rg3">

                <table width="100%" border="0" cellspacing="0" cellpadding="0">

                    <tr>

                        <td class="rgtd2">編號(hào)</td>

                        <td class="rgtd2">角色名稱</td>

                        <td class="rgtd3">角色內(nèi)容</td>

                        <td class="rgtd3">創(chuàng)建時(shí)間</td>

                        <td class="rgtd3">狀態(tài)</td>

                        <td class="rgtd4">操作</td>

                    </tr>

                </table>

            </div>

            <div class="rg4">

                @{int classnum = 1;}

                @foreach (var item in Model)

                {

                    <table width="100%" border="0" cellspacing="0" cellpadding="0" @if (classnum % 2 == 0)

                                                                                   {<text>class="rgbg2"</text>}>

                        <tr>

                            <td class="rgtd2">@item.RoleID</td>

                            <td class="rgtd2">@item.RoleName</td>

                            <td class="rgtd3">@item.RoleContent</td>

                            <td class="rgtd3">@String.Format("{0:yyyy-MM-dd}", item.CreateTime)</td>

                            <td class="rgtd3">@(item.State == 1 ? "有效" : "無效")</td>

                            <td class="rgtd4"><a href="/@ViewBag.ControllerName/delete/@item.RoleID">刪除</a> | <a href="/@ViewBag.ControllerName/edit/@item.RoleID">編輯</a>  </td>

                        </tr>

                    </table>

                                                                                   classnum = classnum + 1;

                }

            </div>

        </div>

    </div>

</div>

<script>

    //菜單顯示

    $("#systemusersys").addClass("hbg");

    $("#@(ViewBag.ControllerName)").removeClass("navli");

    $("#@(ViewBag.ControllerName)").addClass("navlihg");

    $(".systemusersys").each(function (index, item) {

        $(this).show();

    });

</script>



 菜單管理




Controller代碼

public class MenuController : Controller

    {

        MenuRepository repository = new MenuRepository();

        #region 列表

        /// <summary>

        /// 默認(rèn)頁面

        /// </summary>

        /// <returns></returns>

        /// 

        [Authorize]

        public ActionResult Index(int? page)

        {

            ViewBag.ControllerName = RouteData.Values["controller"].ToString().ToLower();

            var source = repository.GetModelListByState(1);

            return View(repository.GetPageModelList(source, 10, page ?? 1));

        }

        #endregion

        #region 添加

        /// <summary>

        /// 添加頁

        /// </summary>

        /// <param name="model">實(shí)體類</param>

        /// <returns></returns>

        [Authorize]

        public ActionResult Add(Menu model)

        {

            ViewBag.ControllerName = RouteData.Values["controller"].ToString().ToLower();

            // ViewData["State"] = SelectListHelper.GetIsOrNoSelectList(0);

            return View();

        }

        /// <summary>

        /// 添加事件

        /// </summary>

        /// <param name="model">實(shí)體類</param>

        /// <param name="fc"></param>

        /// <returns></returns>

        [Authorize, HttpPost, ValidateInput(false)]

        public ActionResult Add(Menu model, FormCollection fc)

        {

            ViewBag.ControllerName = RouteData.Values["controller"].ToString().ToLower();

            model.State = 1;

            model.CreateTime = DateTime.Now;

            repository.SaveOrEditModel(model);

            return RedirectToAction("Index");

        }

        #endregion

        #region 刪除

        /// <summary>

        /// 刪除

        /// </summary>

        /// <param name="id">刪除編號(hào)</param>

        /// <returns></returns>

        [Authorize]

        public ActionResult Delete(int id)

        {

            ViewBag.ControllerName = RouteData.Values["controller"].ToString().ToLower();

            var model = repository.GetModel(id);

            model.State = 0;

            if (model != null)

            {

                repository.SaveOrEditModel(model);

                return RedirectToAction("index");

            }

            else

                return View("404");

            //var model = categoryrepository.GetModel(id);

            //if (model != null)

            //{

            //    categoryrepository.DeleteModel(id);

            //    return RedirectToAction("Index");

            //}

            //else

            //    return View("404");

        }

        #endregion

        #region 查詢

        [Authorize]

        public ActionResult Search(int? page)

        {

            ViewBag.ControllerName = RouteData.Values["controller"].ToString().ToLower();

            string name = "";

            if (page == null)

            {

                name = Request.Form["KeyWord"];

                CookieHelper.SetObj("KeyWord", 0, name);

            }

            else

                name = CookieHelper.GetValue("KeyWord");

            var query = QueryBuilder.Create<Menu>().Like(d =>

codego.net代碼提供.

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI