예제 #1
0
 /// <summary>
 /// 删除一级菜单,其下子菜单必须为空
 /// </summary>
 /// <param name="menuid">要删除的一级菜单ID</param>
 /// <returns>操作成功否</returns>
 public static bool DeleteMainMenu(int menuid)
 {
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList mainmenus = doc.SelectNodes("/dataset/toptabmenu");
     XmlNode delMenu = null;
     int newid = menuid;
     bool result = false;
     foreach (XmlNode menuitem in mainmenus)
     {
         if (menuitem["id"].InnerText == menuid.ToString())
         {
             if (menuitem["mainmenulist"].InnerText.Trim() != "")
                 return false;
             delMenu = menuitem;
             result = true;
             break;
         }
         else
         {
             if (delMenu != null)
             {
                 menuitem["id"].InnerText = newid.ToString();
                 newid++;
             }
         }
     }
     if (result)
     {
         delMenu.ParentNode.RemoveChild(delMenu);
         doc.Save(configPath);
     }
     return result;
 }
예제 #2
0
        /// <summary>
        /// 增加子菜单
        /// </summary>
        /// <param name="mainmenuid">主菜单ID</param>
        /// <param name="menutitle">子菜单标题</param>
        /// <returns>新建子菜单ID</returns>
        public static int NewSubMenu(int mainmenuid, string menutitle)
        {
            int newid = 1;
            int newmenuid = 100;
            XmlDocumentExtender doc = new XmlDocumentExtender();
            doc.Load(configPath);
            XmlNodeList submains = doc.SelectNodes("/dataset/mainmenu");
            newid += int.Parse(submains.Item(submains.Count - 1)["id"].InnerText);
            newmenuid += int.Parse(submains.Item(submains.Count - 1)["menuid"].InnerText);
            XmlElement mainmenu = doc.CreateElement("mainmenu");
            XmlElement node = doc.CreateElement("id");
            node.InnerText = newid.ToString();
            mainmenu.AppendChild(node);

            node = doc.CreateElement("menuid");
            node.InnerText = newmenuid.ToString();
            mainmenu.AppendChild(node);

            node = doc.CreateElement("menutitle");
            node.InnerText = menutitle;
            mainmenu.AppendChild(node);

            doc.SelectSingleNode("/dataset").AppendChild(mainmenu);

            XmlNodeList mainMenus = doc.SelectNodes("/dataset/toptabmenu");
            foreach (XmlNode menuItem in mainMenus) //查找主菜单信息
            {
                if (menuItem["id"].InnerText == mainmenuid.ToString())
                {
                    menuItem["mainmenulist"].InnerText += "," + newid;
                    menuItem["mainmenuidlist"].InnerText += "," + newmenuid;
                    menuItem["mainmenulist"].InnerText = menuItem["mainmenulist"].InnerText.TrimStart(',');
                    menuItem["mainmenuidlist"].InnerText = menuItem["mainmenuidlist"].InnerText.TrimStart(',');
                    break;
                }
            }
            doc.Save(configPath);
            return newmenuid;
        }
예제 #3
0
        /// <summary>
        /// 增加主菜单
        /// </summary>
        /// <param name="title">主菜单标题</param>
        /// <param name="defaulturl">主菜单默认展开的页面</param>
        /// <returns>新主菜单项ID</returns>
        public static int NewMainMenu(string title, string defaulturl)
        {
            XmlDocumentExtender doc = new XmlDocumentExtender();
            doc.Load(configPath);
            XmlNodeList mainmenus = doc.SelectNodes("/dataset/toptabmenu");
            int newMenuId = mainmenus.Count + 1;
            XmlElement newMainMenuItem = doc.CreateElement("toptabmenu");
            XmlElement node = doc.CreateElement("id");
            node.InnerText = newMenuId.ToString();
            newMainMenuItem.AppendChild(node);

            node = doc.CreateElement("title");
            node.InnerText = title;
            newMainMenuItem.AppendChild(node);

            node = doc.CreateElement("mainmenulist");
            node.InnerText = "";
            newMainMenuItem.AppendChild(node);

            node = doc.CreateElement("mainmenuidlist");
            node.InnerText = "";
            newMainMenuItem.AppendChild(node);

            node = doc.CreateElement("defaulturl");
            node.InnerText = defaulturl;
            newMainMenuItem.AppendChild(node);

            node = doc.CreateElement("system");
            node.InnerText = "0";
            newMainMenuItem.AppendChild(node);

            doc.SelectSingleNode("/dataset").AppendChild(newMainMenuItem);
            doc.Save(configPath);
            return newMenuId;
        }
예제 #4
0
        /// <summary>
        /// 新建菜单项
        /// </summary>
        /// <param name="menuparentid">父菜单ID</param>
        /// <param name="title">菜单标题</param>
        /// <param name="link">菜单链接</param>
        /// <returns>操作成功否</returns>
        public static bool NewMenuItem(int menuparentid, string title, string link)
        {
            XmlDocumentExtender doc = new XmlDocumentExtender();
            doc.Load(configPath);
            XmlNodeList submains = doc.SelectNodes("/dataset/submain");
            foreach (XmlNode sub in submains)
            {
                if (sub["link"].InnerText == link)
                {
                    return false;
                }
            }
            XmlElement submain = doc.CreateElement("submain");
            XmlElement node = doc.CreateElement("menuparentid");
            node.InnerText = menuparentid.ToString();
            submain.AppendChild(node);

            node = doc.CreateElement("menutitle");
            node.InnerText = title;
            submain.AppendChild(node);

            node = doc.CreateElement("link");
            node.InnerText = link;
            submain.AppendChild(node);

            node = doc.CreateElement("frameid");
            node.InnerText = "main";
            submain.AppendChild(node);

            doc.SelectSingleNode("/dataset").AppendChild(submain);
            doc.Save(configPath);
            return true;
        }
예제 #5
0
 /// <summary>
 /// 编辑子菜单
 /// </summary>
 /// <param name="submenuid">子菜单ID</param>
 /// <param name="menutitle">子菜单标题</param>
 /// <returns>操作成功否</returns>
 public static bool EditSubMenu(int submenuid, string menutitle)
 {
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList submains = doc.SelectNodes("/dataset/mainmenu");
     bool result = false;
     foreach (XmlNode menuItem in submains)
     {
         if (menuItem["id"].InnerText == submenuid.ToString())
         {
             menuItem["menutitle"].InnerText = menutitle;
             result = true;
             break;
         }
     }
     if (result)
     {
         doc.Save(configPath);
     }
     return result;
 }
예제 #6
0
 /// <summary>
 /// 编辑菜单项
 /// </summary>
 /// <param name="id">菜单项的序号</param>
 /// <param name="title">菜单项的标题</param>
 /// <param name="link">菜单项的链接</param>
 /// <returns>操作成功否</returns>
 public static bool EditMenuItem(int id, string title, string link)
 {
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList submains = doc.SelectNodes("/dataset/submain");
     int rowcount = 0;
     foreach (XmlNode sub in submains)
     {
         if (rowcount.ToString() != id.ToString() && sub["link"].InnerText == link)
         {
             return false;
         }
         rowcount++;
     }
     string tmpLink = submains.Item(id)["link"].InnerText;
     submains.Item(id)["menutitle"].InnerText = title;
     submains.Item(id)["link"].InnerText = link;
     XmlNodeList shortcuts = doc.SelectNodes("/dataset/shortcut");
     foreach (XmlNode shortmenuitem in shortcuts)
     {
         if (shortmenuitem["link"].InnerText == tmpLink)
         {
             shortmenuitem["link"].InnerText = link;
             shortmenuitem["menutitle"].InnerText = title;
             break;
         }
     }
     doc.Save(configPath);
     return true;
 }
예제 #7
0
 /// <summary>
 /// 编辑一级主菜单
 /// </summary>
 /// <param name="menuid">一级主菜单的ID</param>
 /// <param name="title">一级主菜单标题</param>
 /// <param name="defaulturl">一级主菜单默认展开的页面</param>
 /// <returns>操作成功否</returns>
 public static bool EditMainMenu(int menuid, string title, string defaulturl)
 {
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList mainmenus = doc.SelectNodes("/dataset/toptabmenu");
     bool result = false;
     foreach (XmlNode menuitem in mainmenus)
     {
         if (menuitem["id"].InnerText == menuid.ToString())
         {
             menuitem["title"].InnerText = title;
             menuitem["defaulturl"].InnerText = defaulturl;
             result = true;
             break;
         }
     }
     if (result)
     {
         doc.Save(configPath);
     }
     return result;
 }
예제 #8
0
 /// <summary>
 /// 删除子菜单
 /// </summary>
 /// <param name="submenuid">子菜单ID</param>
 /// <param name="mainmenuid">主菜单ID</param>
 /// <returns>操作成功否</returns>
 public static bool DeleteSubMenu(int submenuid, int mainmenuid)
 {
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList submains = doc.SelectNodes("/dataset/mainmenu");
     bool result = false;
     string menuid = "";
     foreach (XmlNode menuItem in submains)
     {
         if (menuItem["id"].InnerText == submenuid.ToString())
         {
             menuid = menuItem["menuid"].InnerText;
             XmlNodeList items = doc.SelectNodes("/dataset/submain");
             foreach (XmlNode item in items)
             {
                 if (item["menuparentid"].InnerText == menuid)
                     return false;
             }
             menuItem.ParentNode.RemoveChild(menuItem);
             result = true;
             break;
         }
     }
     XmlNodeList mainMenus = doc.SelectNodes("/dataset/toptabmenu");
     foreach (XmlNode menuItem in mainMenus) //查找主菜单信息
     {
         if (menuItem["id"].InnerText == mainmenuid.ToString())
         {
             menuItem["mainmenulist"].InnerText = ("," + menuItem["mainmenulist"].InnerText + ",").Replace("," + submenuid + ",", ",");
             menuItem["mainmenuidlist"].InnerText = ("," + menuItem["mainmenuidlist"].InnerText + ",").Replace("," + menuid + ",", ",");
             menuItem["mainmenulist"].InnerText = menuItem["mainmenulist"].InnerText.TrimStart(',').TrimEnd(',');
             menuItem["mainmenuidlist"].InnerText = menuItem["mainmenuidlist"].InnerText.TrimStart(',').TrimEnd(',');
             break;
         }
     }
     if (result)
     {
         doc.Save(configPath);
     }
     return result;
 }
예제 #9
0
 /// <summary>
 /// 删除菜单项
 /// </summary>
 /// <param name="id">菜单项的序号</param>
 public static void DeleteMenuItem(int id)
 {
     XmlDocumentExtender doc = new XmlDocumentExtender();
     doc.Load(configPath);
     XmlNodeList submains = doc.SelectNodes("/dataset/submain");
     string link = submains.Item(id)["link"].InnerText;
     submains.Item(id).ParentNode.RemoveChild(submains.Item(id));
     XmlNodeList shortcuts = doc.SelectNodes("/dataset/shortcut");
     foreach (XmlNode shortmenuitem in shortcuts)
     {
         if (shortmenuitem["link"].InnerText == link)
         {
             shortmenuitem.ParentNode.RemoveChild(shortmenuitem);
             break;
         }
     }
     doc.Save(configPath);
 }