【通用权限管理系统】角色管理>新增角色页面逻辑处理 导读部分
教程部分
本帖子主要讲解权限管理>功能权限管理>新增角色的实现方法,即下图内容:
后台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("角色名称不能为空");
}
});
|