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"}
            };
        }
    }
}

功能已经完成!

要设默认值的,
posted @ 2017-04-07 19:00  狼牙者.net  阅读(150)  评论(0编辑  收藏  举报