/// <summary> /// 获取菜单模块树型列表 /// </summary> /// <param name="systemCode">子系统</param> /// <param name="isMenu">是否菜单(0/1)</param> public DataTable GetModuleTree(string systemCode, string isMenu = null) { if (string.IsNullOrEmpty(systemCode)) { systemCode = "Base"; } //读取选定子系统的菜单模块 var manager = new BaseModuleManager(UserInfo, systemCode + "Module"); // 获取所有数据 var parameters = new List <KeyValuePair <string, object> >(); if (ValidateUtil.IsInt(isMenu)) { parameters.Add(new KeyValuePair <string, object>(BaseModuleEntity.FieldIsMenu, isMenu)); } parameters.Add(new KeyValuePair <string, object>(BaseModuleEntity.FieldEnabled, 1)); parameters.Add(new KeyValuePair <string, object>(BaseModuleEntity.FieldDeleted, 0)); //2017.12.20增加默认的HttpRuntime.Cache缓存 var cacheKey = "DataTable." + systemCode + ".ModuleTree." + isMenu; //var cacheTime = default(TimeSpan); var cacheTime = TimeSpan.FromMilliseconds(86400000); return(CacheUtil.Cache <DataTable>(cacheKey, () => manager.GetModuleTree(manager.GetDataTable(parameters, BaseModuleEntity.FieldSortCode)), true, false, cacheTime)); //直接读取数据库 //return manager.GetModuleTree(manager.GetModuleTree(manager.GetDataTable(parameters, BaseModuleEntity.FieldSortCode))); }