/// <summary> /// 通过元数据加载菜单 /// </summary> public void LoadMenus() { //IMenuService menuService = (IMenuService)application.GetService(typeof(IMenuService)); MainMenuPages.Clear(); MenuDict.Clear(); ISinoMenu _iSinoMenu = MenuConfig.GetMenuInterface(); UserMenuList = _iSinoMenu.GetAllMenus(SessionClass.CurrentSinoUser.CurrentPost.PostID); if (UserMenuList != null) { SinoMenuFatherFinder _finder = new SinoMenuFatherFinder("0"); List <SinoMenuItem> _TopLevelMenuList = UserMenuList.FindAll(new Predicate <SinoMenuItem>(_finder.FindByFather)); _TopLevelMenuList.Sort(new SinoMenuComparer()); foreach (SinoMenuItem _smi in _TopLevelMenuList) { if (_smi.MenuType.Length > 3 && _smi.MenuType.Substring(0, 3) == "WEB") { //这是WEB的菜单 } else if (_smi.MenuType.Length > 3 && _smi.MenuType.Substring(0, 3) == "SL_") { //这是Silverlight的菜单 } else { FrmMenuPage _fmp = new FrmMenuPage(_smi.MenuID, _smi.MenuTitle, _smi.CanUse); this.AddMainMenuPage(_fmp); AddSubMenu(_smi, UserMenuList, _fmp); } } } }
public void LoadStartupPage() { ISinoMenu _iSinoMenu = MenuConfig.GetMenuInterface(); List <firstPageItem> _startupMenus = _iSinoMenu.GetfirstPage(); foreach (firstPageItem _menu in _startupMenus) { if (MenuDict.ContainsKey(_menu.ItemParam)) { FrmMenuItem _mitem = MenuDict[_menu.ItemParam]; if (_mitem.MenuCommand != null) { _mitem.MenuCommand.RunCommand(_mitem.MenuID); } } } }
public static ISinoMenu GetMenuInterface() { string className, profilePath; string dataBaseType = ConfigurationManager.AppSettings["DataBaseType"] as string; switch (dataBaseType) { case "ORACLE": return(null); case "SQLSERVER": return(null); case "REMOTING": IServiceFactory _serviceFactory = (IServiceFactory)RemotingClientSvc.GetAppSvrObj(typeof(IServiceFactory)); RemotingClientSvc.BindTicketToCallContext(SessionClass.CurrentTicket); ISinoMenu _ret = _serviceFactory.GetInterFace("MenuServerPlugin") as ISinoMenu; return(_ret); } return(null); }