easyui-combotree传递参数到后台获取json值来绑定combotree控件

easyui-combotree传递参数到后台获取json值来绑定combotree控件


html:

  
*模块
*菜单

easyui-combotree传递参数到后台获取json值来绑定combotree控件


jQuery:
 //选择[模块]刷新[菜单]combotree
            $(function () {
                $("#cmbModule_add_mm").combobox({
                    onChange: function (n, o) {
                        var ModuleID = n;
                        $("#cmbMenu_add_mm").combobox("clear");
                        $('#cmbMenu_add_mm').combotree({
                            url: '/Rights/ModuleMenu/GetModuleMenuJson',//ajax
                            queryParams: { ModuleID: ModuleID },//传递参数后台
                            valueField: 'id',
                            textField: 'text',
                            method: 'get',
                        });
                    }
                });
            });

easyui-combotree传递参数到后台获取json值来绑定combotree控件


MVC:
     public ActionResult GetModuleMenuJson(int ModuleID)
        {
            string json = ModuleMenuService.GetModuleMenuJson(ModuleID);
            return Content(json);
        }

easyui-combotree传递参数到后台获取json值来绑定combotree控件


Json:
 public string GetModuleMenuJson(int ModuleID)
        {
            var moduleList = GetModule(ModuleID);
            if (moduleList != null && moduleList.Any())
            {
                string jsonData = "[";
                moduleList.ForEach(mo =>
                {
                    jsonData += "{";
                    jsonData += "\"text\":\"" + mo.ModuleName + "\",";
                    jsonData += "\"children\":[";
                    var menuList = GetMenu(mo.ModuleID);
                    menuList.Where(me => me.ModuleID == mo.ModuleID).ToList().ForEach(menu =>
                    {
                        jsonData += "{";
                        jsonData += "\"id\":\"" + menu.MenuID + "\",";
                        jsonData += "\"text\":\"" + menu.MenuName + "\"";
                        jsonData += "}";
                        jsonData += ',';
                    });
                    jsonData = jsonData.TrimEnd(',');
                    jsonData += "]}";
                    jsonData += ',';
                });
                jsonData = jsonData.Substring(0, jsonData.Length - 1);//去掉末尾的 , 逗号
                jsonData += "]";

                return jsonData;
            }
            return string.Empty;
        }
        private List GetModule(int ModuleID)
        {
            string sql = @" SELECT DISTINCT [ModuleID],
                            (select TOP 1 ModuleName FROM T_Module WHERE ModuleID=a.ModuleID) [ModuleName]
                            FROM [T_ModuleMenu] a
                            WHERE [IsValid]=1";
            if (ModuleID != 0)
                sql += "    AND ModuleID=" + ModuleID;
            sql += "        ORDER by [ModuleID] ASC";

            DataTable dt = DbHelperSQL.QueryDataTable(sql);
            if (dt == null) return null;

            return dt.AsEnumerable().Select(n => new ModuleMenu
            {
                ModuleID = n.Field("ModuleID"),
                ModuleName = n.Field("ModuleName"),
            }).ToList();
        }
easyui-combotree传递参数到后台获取json值来绑定combotree控件

你可能感兴趣的:(JS代码,html,jquery)