/// <summary> /// 装载WebSite信息 /// </summary> private void LoadWebSiteConfig() { #region 装载主题信息 XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(configPath); XmlNodeList topiclistNode = doc.SelectNodes("/Aggregationinfo/Data/Hottopiclist/Topic"); XmlNodeList website_spacelistnode = doc.SelectNodes("/Aggregationinfo/Forum/Hottopiclist/Topic"); XmlNodeInnerTextVisitor topicvisitor = new XmlNodeInnerTextVisitor(); XmlNodeInnerTextVisitor pagetopicvisitor = new XmlNodeInnerTextVisitor(); forumlist.Text = ""; int i = 0; foreach (XmlNode topic in topiclistNode) { topicvisitor.SetNode(topic); bool isCheck = false; foreach (XmlNode index in website_spacelistnode) { pagetopicvisitor.SetNode(index); if (topicvisitor["tid"].ToString() == pagetopicvisitor["tid"].ToString()) { isCheck = true; break; } } forumlist.Text += "<div class='mo' id='m" + i + "' flag='f" + i + "'><h1><input type='checkbox' name='tid' " + (isCheck ? "checked" : "") + " value='" + topicvisitor["tid"] + "'>" + topicvisitor["title"] + "</h1></div>\n"; i++; } #endregion }
public void BindData() { string menuId = DNTRequest.GetString("menuid"); string menuTitle = ""; string menuSubMenuList = ""; XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(configPath); XmlNodeList mainMenus = doc.SelectNodes("/dataset/toptabmenu"); foreach (XmlNode menuItem in mainMenus) //查找主菜单信息 { if (menuItem["id"].InnerText == menuId) { menuTitle = menuItem["title"].InnerText; menuSubMenuList = menuItem["mainmenulist"].InnerText; break; } } DataGrid1.TableHeaderName = menuTitle + " 菜单项管理"; XmlNodeList subMenus = doc.SelectNodes("/dataset/mainmenu"); DataTable dt = new DataTable(); if (menuSubMenuList == "") //该菜单没有子菜单 { DataGrid1.DataSource = dt; DataGrid1.DataBind(); return; } dt.Columns.Add("id"); dt.Columns.Add("menuid"); dt.Columns.Add("submenuid"); dt.Columns.Add("menutitle"); dt.Columns.Add("delitem"); foreach (XmlNode subMenuItem in subMenus) { if (("," + menuSubMenuList + ",").IndexOf("," + subMenuItem["id"].InnerText + ",") != -1) { DataRow dr = dt.NewRow(); dr["id"] = subMenuItem["id"].InnerText; dr["menuid"] = menuId; dr["submenuid"] = subMenuItem["menuid"].InnerText; dr["menutitle"] = subMenuItem["menutitle"].InnerText; if (FindSubMenuItem(subMenuItem["menuid"].InnerText,doc)) { dr["delitem"] = "删除"; } else { dr["delitem"] = "<a href='managesubmenu.aspx?mode=del&menuid=" + menuId + "&submenuid=" + subMenuItem["id"].InnerText + "' onclick='return confirm(\"您确认要删除此菜单项吗?\");'>删除</a>"; } dt.Rows.Add(dr); } } DataGrid1.DataSource = dt; DataGrid1.DataBind(); }
/*private void SaveManagerBody() { string url = Context.Request.Url.ToString().ToLower().Substring(0, Context.Request.Url.ToString().ToLower().IndexOf("rapidset")) + "framepage/managerbody.aspx"; HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(new Uri(url)); req.Method = "GET"; WebResponse wr = req.GetResponse(); StreamReader sr = new StreamReader(wr.GetResponseStream(), System.Text.Encoding.GetEncoding("gb2312")); string html = sr.ReadToEnd(); FileStream fs = new FileStream(Utils.GetMapPath("../framepage/managerbody.htm"), FileMode.Create); byte[] bt = System.Text.Encoding.UTF8.GetBytes(html); fs.Write(bt, 0, bt.Length); fs.Close(); }*/ private void BindDataGrid() { DataGrid1.TableHeaderName = "菜单管理"; XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(configPath); XmlNodeList mainmenus = doc.SelectNodes("/dataset/toptabmenu"); DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("id")); dt.Columns.Add(new DataColumn("title")); dt.Columns.Add(new DataColumn("defaulturl")); dt.Columns.Add(new DataColumn("system")); dt.Columns.Add(new DataColumn("delitem")); foreach (XmlNode menuitem in mainmenus) { DataRow dr = dt.NewRow(); dr["id"] = menuitem["id"].InnerText; dr["title"] = menuitem["title"].InnerText; dr["defaulturl"] = menuitem["defaulturl"].InnerText; dr["system"] = menuitem["system"].InnerText != "0" ? "是" : "否"; if (menuitem["mainmenulist"].InnerText != "") dr["delitem"] = "删除"; else dr["delitem"] = "<a href='managemainmenu.aspx?mode=del&menuid=" + menuitem["id"].InnerText + "' onclick='return confirm(\"您确认要删除此菜单项吗?\")'>删除</a>"; dt.Rows.Add(dr); } DataGrid1.DataSource = dt; DataGrid1.DataBind(); }
private void LoadWebSiteConfig() { #region 装载个人空间信息 XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(configPath); XmlNodeList data_spacelistNode = doc.SelectNodes("/Aggregationinfo/Aggregationdata/" + pagename + "aggregationdata/" + pagename + "_spacelist/Space"); XmlNodeList index_spacelistnode = doc.SelectNodes("/Aggregationinfo/Aggregationpage/" + pagename + "/" + pagename + "_spacelist/Space"); XmlNodeInnerTextVisitor dataspacevisitor = new XmlNodeInnerTextVisitor(); XmlNodeInnerTextVisitor indexspacevisitor = new XmlNodeInnerTextVisitor(); int i = 0; spacelist.Text = ""; foreach (XmlNode data in data_spacelistNode) { dataspacevisitor.SetNode(data); bool isCheck = false; foreach (XmlNode index in index_spacelistnode) { indexspacevisitor.SetNode(index); if (dataspacevisitor["spaceid"].ToString() == indexspacevisitor["spaceid"].ToString()) { isCheck = true; break; } } spacelist.Text += "<div class='mo' id='m" + i + "' flag='f" + i + "'><h1><input type='checkbox' name='sid' " + (isCheck ? "checked" : "") + " value='" + dataspacevisitor["spaceid"] + "'>" + dataspacevisitor["title"] + "</h1></div>\n"; i++; } #endregion }
private DataTable GetWebsiteConfig() { #region 装载主题 DataTable dt = new DataTable(); dt.Columns.Add("tid"); dt.Columns.Add("title"); dt.Columns.Add("poster"); dt.Columns.Add("postdatetime"); dt.Columns.Add("showtype"); XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(configPath); XmlNodeList topiclistNode = doc.SelectNodes("/Aggregationinfo/Aggregationpage/Website/Forum/Topiclist/Topic"); XmlNodeInnerTextVisitor topicvisitor = new XmlNodeInnerTextVisitor(); foreach (XmlNode topic in topiclistNode) { topicvisitor.SetNode(topic); DataRow dr = dt.NewRow(); dr["tid"] = topicvisitor["topicid"]; dr["title"] = topicvisitor["title"]; dr["poster"] = topicvisitor["poster"]; dr["postdatetime"] = topicvisitor["postdatetime"]; dt.Rows.Add(dr); } return dt; #endregion }
/// <summary> /// 获取当前页面的参数 /// </summary> /// <param name="doc"></param> /// <param name="menuparentid"></param> /// <returns></returns> public string[] GetParm(XmlDocumentExtender doc, string menuparentid) { string[] parm = new string[3]; XmlNodeList mainmenus = doc.SelectNodes("/dataset/mainmenu"); XmlNodeInnerTextVisitor menuvisitor = new XmlNodeInnerTextVisitor(); foreach (XmlNode mainmenu in mainmenus) { menuvisitor.SetNode(mainmenu); if (menuvisitor["menuid"] == menuparentid) { parm[0] = menuvisitor["id"]; break; } } XmlNodeList toptabmenus = doc.SelectNodes("/dataset/toptabmenu"); foreach (XmlNode toptabmenu in toptabmenus) { menuvisitor.SetNode(toptabmenu); if (("," + menuvisitor["mainmenulist"] + ",").IndexOf("," + parm[0] + ",") != -1) { parm[1] = menuvisitor["id"]; parm[2] = menuvisitor["mainmenulist"]; break; } } return parm; }
private void BindEditData(string tid) { #region 装载主题编辑 panel1.Visible = true; XmlDocumentExtender doc = new XmlDocumentExtender(); if (!File.Exists(configPath)) return; doc.Load(configPath); string topicPath = "/Aggregationinfo/Aggregationpage/Website/Forum/Topiclist/Topic"; if (fid != "") topicPath = "/Aggregationinfo/Forum/Topiclist/Topic"; XmlNodeList topiclistNode = doc.SelectNodes(topicPath); XmlNodeInnerTextVisitor topicvisitor = new XmlNodeInnerTextVisitor(); foreach (XmlNode topic in topiclistNode) { topicvisitor.SetNode(topic); if (topicvisitor["topicid"] == tid) { topicid.Value = topicvisitor["topicid"]; title.Text = topicvisitor["title"]; poster.Text = topicvisitor["poster"]; postdatetime.Text = topicvisitor["postdatetime"]; shortdescription.Text = topicvisitor["shortdescription"]; fulldescription.Value = topicvisitor["fulldescription"]; } } #endregion }
private void BindDataGrid() { DataGrid1.TableHeaderName = pagename + " 子菜单项管理"; XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(configPath); string submenuid = DNTRequest.GetString("submenuid"); XmlNodeList submenusitem = doc.SelectNodes("/dataset/submain"); DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("id")); dt.Columns.Add(new DataColumn("menutitle")); dt.Columns.Add(new DataColumn("link")); int i = 0; foreach (XmlNode menuitem in submenusitem) { if(menuitem["menuparentid"].InnerText == submenuid) { DataRow dr = dt.NewRow(); dr["id"] = i.ToString(); dr["menutitle"] = menuitem["menutitle"].InnerText; dr["link"] = menuitem["link"].InnerText; dt.Rows.Add(dr); } i++; } DataGrid1.DataSource = dt; DataGrid1.DataBind(); }
/// <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; }
protected void Page_Load(object sender, EventArgs e) { att.Columns.Add("typeid"); att.Columns.Add("typename"); att.Columns.Add("extname"); XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(AppDomain.CurrentDomain.BaseDirectory + "config/myattachment.config"); XmlNodeList attachtype = doc.SelectNodes("/MyAttachmentsTypeConfigInfo/attachtypes/AttachmentType"); foreach (XmlNode node in attachtype) { DataRow dr = att.NewRow(); dr["typeid"] = node["TypeId"].InnerText; dr["typename"] = node["TypeName"].InnerText; dr["extname"] = node["ExtName"].InnerText != "" ? node["ExtName"].InnerText : "无绑定类型"; att.Rows.Add(dr); } dt = DatabaseProvider.GetInstance().GetAttachTypes(); string typeid = DNTRequest.GetString("typeid"); if (!Page.IsPostBack) { BindData(); string attlist = ""; //得到已绑定的附件列表 if (att != null) { foreach (DataRow dr in att.Rows) { attlist += dr["extname"].ToString() + ","; } attlist = attlist.TrimEnd(','); } attachextensions.AddTableData(dt); foreach (string atttype in attlist.Split(',')) { for (int i = 0; i < attachextensions.Items.Count; i++) { if (atttype == attachextensions.Items[i].Text) { attachextensions.Items[i].Enabled = false; break; } } } string script = "var atttype = \r\n{"; if (att != null) { foreach (DataRow dr in att.Rows) { script += "\r\n\ttype" + dr["typeid"].ToString() + ":{typename:'" + dr["typename"].ToString() + "',extname:'" + dr["extname"].ToString() + "'},"; } script = script.TrimEnd(','); } script += "\r\n};"; base.RegisterStartupScript("", "<script type='text/javascript'>\r\n" + script + "\r\n</script>"); } }
protected void Page_Load(object sender, EventArgs e) { //加入快捷操作菜单 resultmessage = "<img src='../images/existmenu.gif' style='vertical-align:middle'/> 已经收藏"; string configPath = Page.Server.MapPath("xml/navmenu.config"); string title = ""; string menuparentid = ""; string url = DNTRequest.GetString("url").ToLower(); XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(configPath); //读到快捷操作菜单 XmlNodeList shortcuts = doc.SelectNodes("/dataset/shortcut"); foreach (XmlNode singleshortcut in shortcuts) { //如果当前链接在快捷菜单内,则返回 if (singleshortcut.SelectSingleNode("link").InnerText == url.ToLower().Trim()) return; } XmlNodeList submains = doc.SelectNodes("/dataset/submain"); XmlNodeInnerTextVisitor submainsvisitor = new XmlNodeInnerTextVisitor(); foreach (XmlNode submain in submains) { submainsvisitor.SetNode(submain); if (submainsvisitor["link"].ToLower() == url) { title = submainsvisitor["menutitle"]; menuparentid = submainsvisitor["menuparentid"]; } } string[] parm = GetParm(doc,menuparentid); XmlElement shortcut = doc.CreateElement("shortcut"); //将当前页面存入快捷操作菜单内 doc.AppendChildElementByNameValue(ref shortcut, "link", url); doc.AppendChildElementByNameValue(ref shortcut, "menutitle", title); doc.AppendChildElementByNameValue(ref shortcut, "frameid", "main"); doc.AppendChildElementByNameValue(ref shortcut, "custommenu", "true"); doc.AppendChildElementByNameValue(ref shortcut, "showmenuid", parm[0]); doc.AppendChildElementByNameValue(ref shortcut, "toptabmenuid", parm[1]); doc.AppendChildElementByNameValue(ref shortcut, "mainmenulist", parm[2]); doc.SelectSingleNode("/dataset").AppendChild(shortcut); doc.Save(configPath); //managemainmenu.CreateMenu(Utils.GetMapPath("xml/navmenu.config"), Utils.GetMapPath("framepage") + "/navmenu.js"); MenuManage.CreateMenuJson(); }
private void BindDataGrid() { DataGrid1.TableHeaderName = "快捷菜单管理"; XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(configPath); XmlNodeList mainmenus = doc.SelectNodes("/dataset/mainmenu"); XmlNodeList toptabmenus = doc.SelectNodes("/dataset/toptabmenu"); string[] menuText = new string[mainmenus.Count]; for (int i = 0; i < menuText.Length; i++) { foreach (XmlNode topmenuitem in toptabmenus) { if (("," + topmenuitem["mainmenulist"].InnerText + ",").IndexOf("," + mainmenus[i].SelectSingleNode("id").InnerText + ",") != -1) { menuText[i] = topmenuitem["title"].InnerText + "->" + mainmenus[i].SelectSingleNode("menutitle").InnerText; break; } } } DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("id")); dt.Columns.Add(new DataColumn("local")); XmlNodeList shortcutmenus = doc.SelectNodes("/dataset/shortcut"); XmlNodeInnerTextVisitor shortcutmenuvisitor = new XmlNodeInnerTextVisitor(); foreach (XmlNode shortcutmenu in shortcutmenus) { shortcutmenuvisitor.SetNode(shortcutmenu); DataRow dr = dt.NewRow(); dr["id"] = shortcutmenuvisitor["link"]; dr["local"] = menuText[int.Parse(shortcutmenuvisitor["showmenuid"]) - 1] + "->" + shortcutmenuvisitor["menutitle"]; dt.Rows.Add(dr); } if (dt.Rows.Count == 0) { DataRow dr = dt.NewRow(); dr["id"] = ""; dr["local"] = "(暂无收藏)"; dt.Rows.Add(dr); } DataGrid1.DataSource = dt; DataGrid1.DataBind(); }
private void LoadInfo() { string fids = ""; XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(configPath); fids = doc.SelectSingleNode("/Aggregationinfo/Aggregationpage/Website/Website_forumrecomend/fidlist").InnerText; XmlNodeList forumrecomendtopic = doc.SelectNodes("/Aggregationinfo/Aggregationpage/Website/Website_forumrecomendtopiclist/Website_forumrecomendtopic"); List<ForumInfo> lists = Discuz.Forum.Forums.GetForumList(); DataTable forumdata = new DataTable(); forumdata.Columns.Add("fid"); forumdata.Columns.Add("name"); forumdata.Columns.Add("tid"); forumdata.Columns.Add("title"); forumdata.Columns.Add("img"); foreach (string fid in fids.Split(',')) { foreach (ForumInfo foruminfo in lists) { if (foruminfo.Fid.ToString() == fid) //在板块信息中找到当前选择的板块 { DataRow dr = forumdata.NewRow(); dr["fid"] = fid; dr["name"] = foruminfo.Name; dr["tid"] = ""; dr["title"] = ""; dr["img"] = ""; forumdata.Rows.Add(dr); break; } } } foreach (XmlNode topic in forumrecomendtopic) { foreach (DataRow dr in forumdata.Rows) { if (topic["fid"].InnerText == dr["fid"].ToString()) { dr["tid"] = topic["tid"].InnerText; dr["title"] = topic["title"].InnerText; dr["img"] = topic["img"].InnerText; break; } } } DataGrid1.TableHeaderName = "推荐版块图片选择"; DataGrid1.DataKeyField = "fid"; DataGrid1.DataSource = forumdata; DataGrid1.DataBind(); }
protected void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { int row = e.Item.ItemIndex; XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(configPath); XmlNodeList shortcutmenus = doc.SelectNodes("/dataset/shortcut"); int i = 0; foreach (XmlNode xn in shortcutmenus) { if(i == row) xn.ParentNode.RemoveChild(xn); i++; } doc.Save(configPath); MenuManage.CreateMenuJson(); base.RegisterStartupScript("delete", "<script type='text/javascript'>window.parent.LoadShortcutMenu();</script>"); BindDataGrid(); }
private void BindEditData(string tid) { #region 装载主题编辑 panel1.Visible = true; XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(configPath); XmlNodeList topiclistNode = doc.SelectNodes("/Aggregationinfo/Forum/Hottopiclist/Topic"); XmlNodeInnerTextVisitor topicvisitor = new XmlNodeInnerTextVisitor(); foreach (XmlNode topic in topiclistNode) { topicvisitor.SetNode(topic); if (topicvisitor["tid"] == tid) { topicid.Value = topicvisitor["tid"]; title.Text = topicvisitor["title"]; poster.Text = topicvisitor["poster"]; postdatetime.Text = topicvisitor["postdatetime"]; } } #endregion }
/// <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; }
/// <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); }
/// <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; }
public static void ImportPluginMenu(string menuConfigFile) { if (!System.IO.File.Exists(menuConfigFile)) return; //备份菜单 BackupMenuFile(); XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(menuConfigFile); XmlNodeList menuitems = doc.SelectNodes("/pluginmenu/menuitem"); int pluginMainId = FindPluginMainMenu(); foreach(XmlNode menuitem in menuitems) { int newsubmenuid = NewSubMenu(pluginMainId, menuitem.Attributes["title"].InnerText); XmlNodeList items = menuitem.ChildNodes; foreach(XmlNode item in items) { NewMenuItem(newsubmenuid, item["title"].InnerText, item["link"].InnerText); } } CreateMenuJson(); }
/// <summary> /// 查找扩展菜单 /// </summary> /// <returns>扩展菜单项ID</returns> public static int FindPluginMainMenu() { XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(configPath); XmlNodeList mainmenus = doc.SelectNodes("/dataset/toptabmenu"); foreach (XmlNode menuitem in mainmenus) { if (menuitem["system"].InnerText == "2") { return int.Parse(menuitem["id"].InnerText); } } return -1; }
private static int FindMenuMenuid(string mainMenuTitle, string subMenuTitle) { XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(configPath); XmlNodeList mainmenus = doc.SelectNodes("/dataset/toptabmenu"); bool find = false; string mainmenulist = ""; foreach (XmlNode menuitem in mainmenus) { if (menuitem["title"].InnerText == mainMenuTitle) { mainmenulist = menuitem["mainmenulist"].InnerText; find = true; } } if (!find) return -1; XmlNodeList submains = doc.SelectNodes("/dataset/mainmenu"); foreach (XmlNode menuItem in submains) { if (("," + mainmenulist + ",").IndexOf("," + menuItem["id"].InnerText + ",") != -1 && menuItem["menutitle"].InnerText == subMenuTitle) { return int.Parse(menuItem["menuid"].InnerText); } } return -1; }
/// <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; }
private bool FindSubMenuItem(string menuid,XmlDocumentExtender doc) { XmlNodeList submenuitem = doc.SelectNodes("/dataset/submain"); foreach (XmlNode item in submenuitem) { if (item["menuparentid"].InnerText == menuid) return true; } return false; }
/// <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; }
/// <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; }
/// <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; }
/// <summary> /// 获取聚合首页自动推荐主题列表的排序规则 /// </summary> /// <returns></returns> public TopicOrderType GetForumAggregationTopicListOrder() { if (topicOrderType == null) { XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(Utils.GetMapPath(BaseConfigs.GetForumPath + "config/aggregation.config")); topicOrderType = (TopicOrderType)TypeConverter.ObjectToInt(doc.GetSingleNodeValue(doc.SelectNodes("/Aggregationinfo/Aggregationpage/Website/Forum")[0], "Bbs/Showtype")); } return (TopicOrderType)topicOrderType; }
private static int FindMenuID(string mainMenuTitle) { XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(configPath); XmlNodeList mainmenus = doc.SelectNodes("/dataset/toptabmenu"); foreach (XmlNode menuitem in mainmenus) { if (menuitem["title"].InnerText == mainMenuTitle) { return int.Parse(menuitem["id"].InnerText); } } return -1; }
/// <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; }
private static int FindMenuID(string mainMenuTitle, string subMenuTitle, string menuItemTitle) { XmlDocumentExtender doc = new XmlDocumentExtender(); doc.Load(configPath); XmlNodeList mainmenus = doc.SelectNodes("/dataset/toptabmenu"); bool find = false; string mainmenulist = ""; foreach (XmlNode menuitem in mainmenus) { if (menuitem["title"].InnerText == mainMenuTitle) { mainmenulist = menuitem["mainmenulist"].InnerText; find = true; } } if (!find) return -1; XmlNodeList submains = doc.SelectNodes("/dataset/mainmenu"); find = false; string menuid = ""; foreach (XmlNode menuItem1 in submains) { if (("," + mainmenulist + ",").IndexOf("," + menuItem1["id"].InnerText + ",") != -1 && menuItem1["menutitle"].InnerText == subMenuTitle) { menuid = menuItem1["menuid"].InnerText; find = true; } } if (!find) { return -1; } XmlNodeList submains1 = doc.SelectNodes("/dataset/submain"); int rowcount = 0; foreach (XmlNode sub in submains1) { if (sub["menuparentid"].InnerText == menuid && sub["menutitle"].InnerText == menuItemTitle) { return rowcount; } rowcount++; } return -1; }