| 【通用权限管理系统】角色管理>新增角色页面逻辑处理导读部分 
 
 
 
 
 教程部分 
 
 本帖子主要讲解权限管理>功能权限管理>新增角色的实现方法,即下图内容: 
 后台cs代码如下: 1. 实例化参数 [C#] 纯文本查看 复制代码 private Sys_RoleBLL sys_roleBll = new Sys_RoleBLL();
        protected int addRole = -1;
 2. Page_load中方法实现 [C#] 纯文本查看 复制代码 protected void Page_Load(object sender, EventArgs e) {
            var action = this.Request.Params[ "action" ];
            if ( !string.IsNullOrWhiteSpace( action ) && action == "save" ) {
                // 保存新增角色信息
                /*
                 * 1. 获取角色名称
                 * 2. 角色名称非空校验
                 * 3. 新增数据
                 */
                //获取角色名称
                var name = this.Request.Params[ "name" ];
                var result = -1;
                var msg = "保存成功";
                var isCheck = true;
                // 角色名称非空校验
                if ( string.IsNullOrWhiteSpace( name ) ) { msg = "角色名称不能为空"; isCheck = false; }
                // 新增数据
                if ( isCheck ) {
                    result = sys_roleBll.Insert( new Sys_RoleInfo() {
                        Name = name
                    } );
                    msg = ( result > 0 ? "保存成功" : "保存失败" );
                }
                // 返回信息
                this.Response.Clear();
                this.Response.ContentType = "text/plain";
                this.Response.Write( "{\"reCode\":" + result + ",\"msg\":\"" + msg + "\"}" );
                this.Response.End();
            } else {
                // 初始化加载角色信息
                // 获取所有的权限信息
                list = sys_roleBll.GetList( "", "RoleID != 1", "" );
                // 获取是否有新增权限  以便页面弹出新增框
                addRole = LoginUser.IsAssignPermission(9) ? 1 : -1;
            }
        }
 主要为在else中,获取是否有新增权限,代码如下: [C#] 纯文本查看 复制代码 // 获取是否有新增权限  以便页面弹出新增框
                addRole = LoginUser.IsAssignPermission(9) ? 1 : -1;
 在功能权限列表中,我们可以看到角色管理的新增权限id为9,如下图所示: 
  
    由此可以看到,我们的功能权限主要是根据添加的功能权限id进行处理的。 其它的新增,主要在page_load中的,action == "save" 中实现 页面html以及js实现如下: 1.  点击新增角色后,弹出框html如下: [C#] 纯文本查看 复制代码 <div class="modal modal-primary" style="width: 350px; height: 180px;" id="Panel">
    <div class="modal-hd">
        新增角色<a href="javascript:;" class="icon" data-modal-off></a>
    </div>
    <div class="modal-cont">
        <div id="edit" style="width: 260px; height: 45px;">
            <div class="form-item row">
                <label class="form-label" style="width:60px">角色名称:</label>
                <input type="text" class="form-control" style="width:160px" id="roleName" />
                <input type="hidden" id="txt_editId" />
            </div>
        </div>
        <div class="modal-handle">
            <div>
                <center>
                    <button type="button" id="btnUpdate" class="btn btn-success">保存</button>
                    <button type="button" id="btnCancel" class="btn btn-success">关闭</button>
                </center>
            </div>
        </div>
    </div>
</div>这部分内容,在页面的html最下面就可以,默认是隐藏的 js实现如下: 1. 显示弹出框js,即点击新增按钮后,弹出新增弹出框 [C#] 纯文本查看 复制代码 //点击新增弹出层
        $('#btn_add').click(function () {
            $('#roleName').val('');
            // 权限校验  没有权限,则不弹出新增框
            if (<%=addRole %> > 0) {
                module(['modal'], function (md, exports) {
                    md.bind({
                        target: '#Panel'
                    });
                    return false;
                });
            } else {
                alertMsg('您无权限执行此操作');
            }
        });2. 取消弹出框js [C#] 纯文本查看 复制代码 //弹出层取消按钮事件
        $("#btnCancel").click(function () {
            $('#Panel').find('[data-modal-off]').click();
        });3. 输入角色名称后,点击保存时的js [C#] 纯文本查看 复制代码 // 保存数据
        $('#btnUpdate').click(function () {
            var name = $('#roleName').val();
            console.log(0);
            if (name.length > 0) {
                $.post('/Sys/ReloList.aspx', { action: 'save', name: name }, function (data) {
                    if (data.reCode > 0) {
                        window.location.href = '/Sys/ReloList.aspx';
                    } else {
                        $('#Panel').find('[data-modal-off]').click();
                        alertMsg("保存失败");
                    }
                }, 'json');
            } else {
                $('#Panel').find('[data-modal-off]').click();
                alertMsg("角色名称不能为空");
            }
        });
 |