| 导读部分 
 
 
 
 
 
 教程部分 
 
 本帖子主要讲解在权限管理 > 功能权限管理列表中,点击新增功能权限按钮后,新增功能权限的逻辑结构实现,页面显示如下图: 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>
 |