苏飞论坛

标题: 【通用权限管理系统】新增功能权限逻辑结构处理 [打印本页]

作者: 范范    时间: 2017-12-25 15:48
标题: 【通用权限管理系统】新增功能权限逻辑结构处理
【通用权限管理系统】新增功能权限逻辑结构处理


导读部分



购买http://www.sufeinet.com/thread-19360-1-1.html
讨论区http://www.sufeinet.com/forum-181-1.html
教程目录http://www.sufeinet.com/thread-19363-1-1.html



教程部分


本帖子主要讲解在权限管理 > 功能权限管理列表中,点击新增功能权限按钮后,新增功能权限的逻辑结构实现,页面显示如下图:
(, 下载次数: 167)

1. 在此新增功能中,主要是新增需要添加权限的功能,基本上为新增,修改,删除会添加功能权限,在此处,添加了根目录,基本上此根目录的添加,与该功能所在的列表菜单名称一致,方便后期的更新维护。
主要有用处的是子功能权限部分的添加,具体的逻辑处理如下:

cs逻辑如下:
1. 声明变量:
[C#] 纯文本查看 复制代码

        private Sys_FunctionBLL funcBll = new Sys_FunctionBLL();

        protected List<Sys_FunctionInfo> funcList = new List<Sys_FunctionInfo>();
其中的funcList 是根目录列表,以便于在页面上进行下拉选择,如果为空的话,在页面上只有本目录,也可以说本系统中暂无功能权限
[C#] 纯文本查看 复制代码
protected void Page_Load(object sender, EventArgs e) {
            var action = this.Request.Params[ "action" ];

            if ( !string.IsNullOrWhiteSpace( action ) && "add" == action ) {
                //保存新增的功能信息

                // 获取数据
                var funcName = InputHelper.GetInputString( Request[ "funcName" ] );
                var funcParent = InputHelper.GetInputInt( Request[ "funcParent" ] );

                // 保存数据
                funcBll.Insert( new Sys_FunctionInfo {
                    FunctionName = funcName,
                    ParentId = funcParent
                } );
                Response.Write( "{\"reCode\":1,\"msg\":\"ok.\"}" );
                Response.End();
            } else {
                // 初始化 加载父类数据
                funcList = funcBll.GetList( "*", "ParentId = 0", "ID" );
            }
        }
以上为页面上初始加载获取根目录数据,以及点击保存后的新增功能cs逻辑处理
页面html逻辑如下:
[C#] 纯文本查看 复制代码
<div class="si-main">
        <div class="si-block">
            <div class="si-form">
                <div class="form-item row">
                    <label class="form-label">
                        选择父类功能:</label>
                    <div class="form-control-wrap">
                        <select name="funcParent" id="funcParent" data-combobox>
                            <option value="0">根目录</option>
                            <%foreach( var item in funcList ){%>
                                <option value="<%=item.ID %>"><%=item.FunctionName %></option>
                            <%} %>
                        </select>
                    </div>
                </div>
                <div class="form-item row">
                    <label class="form-label">功能名称:</label>
                    <i class="color-danger">*</i><input type="text" class="form-control short" name="funcName" id="funcName">
                </div>
                <div class="form-item form-footer">
                    <button class="btn btn-primary" id="btnSave">保存</button>
                    <a class="btn btn-cancel" href="/Sys/FuncList.aspx">取消</a>
                </div>
            </div>
        </div>
    </div>


点击保存按钮时的js逻辑处理如下:
[C#] 纯文本查看 复制代码
<script type="text/javascript">
$("#btnSave").click(function () {
var name = $("#funcName").val();
var parent = $("#funcParent").val();
if (name.length <= 0) {
alert("请输入功能名称");
} else {
$.post('/Sys/AddFunc.aspx', { action: 'add', funcName: name, funcParent: parent }, function (data) {
if (data.reCode > 0) {
window.location.href = '/Sys/FuncList.aspx';
}
else {
alertMsg(data.msg);
}
}, 'json');
}
});
</script>


作者: 范范    时间: 2017-12-25 15:52

作者: 范范    时间: 2018-1-4 21:30
回复下,点个赞,鼓励下自己哈,大家多来看看,可以多留言,给我点建议撒




欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4