/// <summary> /// </summary> /// <param name="siteMapPermission"></param> /// <param name="mainMenu"></param> /// <param name="maxLevel"></param> /// <param name="currentLevel"></param> /// <returns>return true main this menu is active.</returns> private static void SubMenuMatch(HtmlHelper helper, SiteMapPermission siteMapPermission, MainMenu mainMenu, int maxLevel, int currentLevel) { for (int i = 0; i < mainMenu.Current.ChildNodes.Count; i++) { ISiteMapNode childNode = mainMenu.Current.ChildNodes[i]; string a = childNode.Title; if (Match(siteMapPermission, childNode)) //�������disabled { var childMainMenu = new MainMenu { Current = childNode, }; mainMenu.SubMenus.Add(childMainMenu); if (currentLevel + 1 <= maxLevel) { SubMenuMatch(helper, siteMapPermission, childMainMenu, maxLevel, currentLevel + 1); if (childMainMenu.Current.Equals(helper.MvcSiteMap().SiteMap.CurrentNode)) { childMainMenu.Actived = true; mainMenu.Actived = true; } } } } }