18.新增权限
新增按钮:1.新增方法 AddRow()
2.还是调用id=editWindow同样的窗体div.
3.还是同样的远程加载,新增action方法AddPermission.
4.AddPermission的返回可以直接是editPermission;
5.数据配置:新增权限Action方法AdPermisson。
6.加载会重新新建一个 <div class="panel window"></div>,这样就会有问题。会重新加载editpermission.
7.使用partialview("EditPermission"),partialview会里加载view。所以使用partialview("EditPermission")
8.partialview不会运行_VieewStart.cshtml。
9.view("EditPermission")就会加载_ViewStart.cshtml,_ViewStart.cshtml就会加载AdminLayout.cshtml模版。
权限数据表
@{ Layout = null; } <!DOCTYPE html> <html> <head> <title>123</title> <link href="~/EasyUI/themes/icon.css" rel="stylesheet" /> <link href="~/EasyUI/themes/default/easyui.css" rel="stylesheet" /> <script type="text/javascript" src="~/Scripts/jquery.min.js"></script> <script type="text/javascript" src="~/EasyUI/jquery.easyui.min.js"></script> <script type="text/javascript" src="~/Scripts/jquery.validate.min.js"></script> @*自动为表单 添加验证功能的js文件---微软提供 <script type="text/javascript" src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>//这个是注释掉的,验证功能 *@ <script src="~/Scripts/jquery.msgProcess.js"></script> <script type="text/javascript"> //=====================1.加载数据====================== $(function () { $('#editWindow').window('close');//编辑默认关闭 $("#tbList").datagrid({ width: 'auto', height: 300, striped: true, singleSelect: true, url: '/admin/sys/GetPermData', //queryParams:{}, loadMsg: '数据加载中请稍后……', pagination: true, rownumbers: true, fitColumns:true, pageSize: 5, pageList:[5,10,15,20,25,30], columns: [[ { field: 'pid', title: 'ID', width: 100, align: "center" }, { field: 'pName', title: '权限名', width: 100, align: "center" }, { field: 'pAreaName', title: '区域名', width: 100, align: "center" }, { field: 'pControllerName', title: '控制名', width: 100, align: "center" }, { field: 'pActionName', title: 'Action', width: 100, align: "center" }, { field: 'pFormMethod', title: '请求方式', width: 100, align: "center", formatter: function (value) { //return value == "1" ? "Get" : "post"; switch (value.toString()) { case "1": return "Get"; case "2": return "Post"; case "3": return "Both"; } } }, { field: 'pOperationType', title: '操作类型', width: 100, align: "center", formatter: function (value) { switch (value.toString()) { case "0": return "无操作"; case "1": return "easyui连接"; case "2": return "打开新窗体"; break; } } } ]], toolbar: [{ iconCls: 'icon-edit', text:"编辑", handler: editRow }, '-', { iconCls: 'icon-add', text: "新增", handler: AddRow }], //设置选中行 onSelect: function (rowI, rD) { selectRowIndex = rowI;//1.1将中的行设置为全局变量 设置给全局变量 } }); initMoifyForm(); }) ////为表单 设置 参数 function initMoifyForm() { $('#modifyForm').form({ url: "/admin/sys/EditPermission", //onSubmit: function () { //}, // success: function (data) { // // alert(data) //} }); } //1.将中的行设置为全局变量 var selectRowIndex = -1; //编辑按钮方法 function editRow() { //1.获取选中行里的数据! var rowData = $("#tbList").datagrid("getSelected");//getSelected返回一个选中的行 $('#editWindow').window('open');//打开 //load发送异步请求权限修改页面。并直接加载到 当前的 修改窗体中 $("#editWindow").load("/admin/sys/EditPermission/" + rowData.pid//路径、data、回调函数 ) }; //新增按钮方法 function AddRow() { $('#editWindow').window('open');//打开 $("#editWindow").load("/admin/sys/AddPermission/");//路径、data、回调函数 } </script> </head> <body> <table id="tbList" style="width:400px;height:250px"> </table> <div id="editWindow" class="easyui-window" title="用户权限编辑" style="width:600px;height:400px;" resizable="true" data-options="iconCls:'icon-save',modal:true"> @*<form id="modifyForm" method="post"> </form>*@ </div> </body> </html>
控制器action方法:AddPermission
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.Mvc; using MVCOA.Helper; namespace MVCOA.Login.Admin { /// <summary> /// 系统管理 /// </summary> public class SysController : Controller { #region 1.0 权限列表 视图 +Permission() [HttpGet] /// <summary> /// 权限列表 视图 /// </summary> /// <returns></returns> public ActionResult Permission() { return View(); } #endregion #region 1.1 权限列表 数据 +GetPermData() [HttpPost] /// <summary> /// 权限列表 视图 /// </summary> /// <returns></returns> public ActionResult GetPermData() { SetDropDoneList(); //获取页容量 int pageSize = int.Parse(Request.Form["rows"]); //获取请求的页面 int pageIndex = int.Parse(Request.Form["page"]); //查询分页数据 var list = OperateContext.Current.BLLSession.IOu_PermissionBLL.GetPagedList(pageIndex, pageSize, p => p.pIsDel == false, p => p.pid).Select(p => p.ToPOCO()); //总行数 var rowCount = OperateContext.Current.BLLSession.IOu_PermissionBLL.GetListBy(p => p.pIsDel == false).Count(); MODEL.EasyUIModel.DataGridModel dgModel = new MODEL.EasyUIModel.DataGridModel() { total = rowCount, rows = list, footer = null }; return Json(dgModel); } #endregion #region 1.2加载 权限修改 窗体html [HttpGet] /// <summary> /// 1.2加载 权限修改 窗体html /// </summary> /// <returns></returns> public ActionResult EditPermission(int id)//这个是留有 { var listt = OperateContext.Current.BLLSession.IOu_PermissionBLL.GetListBy(c => c.pid == id).FirstOrDefault().ToViewModel(); //准备请求方式下拉框数据 SetDropDoneList(); return PartialView(listt); } #endregion //#endregion #region 1.2 权限修改 +EditPermission(MODEL.ViewModel.Permission model) [HttpPost] /// <summary> /// 1.2 权限修改 /// </summary> /// <returns></returns> public ActionResult EditPermission(MODEL.Ou_Permission model) { int res = OperateContext.Current.BLLSession.IOu_PermissionBLL.Modify(model, "pName", "pAreaName", "pControllerName", "pActionName", "pFormMethod", "pOperationType", "pOrder", "pIsShow", "pRemark"); if (res > 0) return Redirect("/admin/sys/Permission?ok"); else return Redirect("/admin/sys/Permission?err"); } #endregion #region 1.3显示 新增权限表单代码 [HttpGet] /// <summary> /// 显示新增表单 /// </summary> /// <returns></returns> public ActionResult AddPermission() { //准备请求方式下拉框数据 SetDropDoneList(); return PartialView("EditPermission");//使用指定的视图创造呈现 //partial局部的, } #endregion #region 1.3显示 新增权限表单代码 +EditPermission(MODEL.ViewModel.Permission model) [HttpPost] /// <summary> /// 1.2 1.3显示 新增权限表单代码 /// </summary> /// <returns></returns> public ActionResult AddPermission(MODEL.Ou_Permission model) { model.pAddTime = DateTime.Now;//要设默认值的,不能为空 model.pIsDel = false;//要设默认值的,不能为空 int res = OperateContext.Current.BLLSession.IOu_PermissionBLL.Add(model); //下拉帮助类 SetDropDoneList(); if (res > 0) return Redirect("/admin/sys/Permission?ok"); else return Redirect("/admin/sys/Permission?err"); } #endregion /// <summary> /// 下拉帮助类 /// </summary> void SetDropDoneList() { //准备请求方式下拉框数据 ViewBag.httpMethopList = new List<SelectListItem>() { new SelectListItem(){Text="Get",Value="1"}, new SelectListItem(){Text="Post",Value="2"}, new SelectListItem(){Text="Both",Value="3"}//Both两个都可以 }; //操作方式 ViewBag.OperationTypeList = new List<SelectListItem>() { new SelectListItem(){Text="无操作",Value="0"}, new SelectListItem(){Text="eastyui连接",Value="1"}, new SelectListItem(){Text="打开新窗体",Value="2"} }; } } }
功能已经完成!
要设默认值的,