/// <summary> /// /// </summary> /// <param name="ddl"></param> /// <param name="menus"></param> /// <param name="parentCode"></param> /// <param name="prefix"></param> private void buildMenuTree(DropDownList ddl, List <cmsMenu> menus, string parentCode, string prefix) { string pf = ""; List <cmsMenu> childs = menus.FindAll(delegate(cmsMenu m) { return(m.ParentCode == parentCode); }); for (int i = 0; i < childs.Count; i++) { cmsMenu item = childs[i]; ListItem itm = new ListItem(); itm.Value = item.MenuCode; if (i < childs.Count - 1) { itm.Text = prefix + "├" + item.MenuName; pf = prefix + "│"; } else { itm.Text = prefix + "└" + item.MenuName; pf = prefix + " "; // 全角空格[ ]制表符[│][├][└] } ddl.Items.Add(itm); buildMenuTree(ddl, menus, item.MenuCode, pf); } }
/// <summary> /// /// </summary> /// <param name="ddl"></param> /// <param name="menus"></param> /// <param name="parentCode"></param> /// <param name="prefix"></param> private void buildMenuTree(Table tbl, List <cmsMenu> menus, string parentCode, string prefix) { string pf = ""; List <cmsMenu> childs = menus.FindAll(delegate(cmsMenu m) { return(m.ParentCode == parentCode); }); for (int i = 0; i < childs.Count; i++) { cmsMenu item = childs[i]; TableRow tr = new TableRow(); tr.CssClass = "Row"; TableCell td = new TableCell(); td.Width = Unit.Pixel(20); HtmlInputCheckBox cb = new HtmlInputCheckBox(); cb.ID = "S" + item.MenuCode; cb.Attributes.Add("class", "S"); cb.Value = item.MenuCode; cb.Attributes.Add("onclick", "selectMenu(this);"); td.Controls.Add(cb); tr.Cells.Add(td); // 栏目名称 td = new TableCell(); td.Style.Add("text-align", "left"); //td.Style.Add("padding-left", "10px"); if (i < childs.Count - 1) { td.Text = prefix + "├" + item.MenuName; pf = prefix + "│"; } else { td.Text = prefix + "└" + item.MenuName; pf = prefix + " "; // 全角空格[ ]制表符[│][├][└] } tr.Cells.Add(td); tbl.Rows.Add(tr); buildMenuTree(tbl, menus, item.MenuCode, pf); } }
private void InitData() { if (!string.IsNullOrEmpty(code)) { if (action.Equals("add")) { ddlParentNode.SelectedValue = code; } else if (action.Equals("edit")) { menu = ms.Get(code); if (menu != null) { hidCode.Value = menu.MenuCode; ddlParentNode.SelectedValue = menu.ParentCode; txtName.Text = menu.MenuName; ddlType.SelectedIndex = menu.MenuType.Value; txtUrl.Text = menu.MenuUrl; txtOrder.Text = menu.OrderNo.ToString(); chkEnabled.Checked = menu.IsEnabled.HasValue ? menu.IsEnabled.Value == 1 : false; } } } }
protected override void btnSave_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtOrder.Text.Trim())) { txtOrder.Text = "0"; } if (action.Equals("add")) { menu = new cmsMenu(); } else if (action.Equals("edit")) { if (ddlParentNode.SelectedValue.StartsWith(hidCode.Value)) { ScriptUtil.Alert("上级菜单不能设为自身或其子级!"); return; } menu = ms.Get(code); if (menu != null) { menu.Attach(); } else { menu = new cmsMenu(); } } if (menu.ParentCode != ddlParentNode.SelectedValue) { menu.MenuCode = ms.GetNextChildCode(ddlParentNode.SelectedValue); } menu.ParentCode = ddlParentNode.SelectedValue; menu.MenuName = txtName.Text.Trim(); menu.MenuUrl = txtUrl.Text.Trim(); menu.MenuType = ddlType.SelectedIndex; menu.OrderNo = Convert.ToInt32(txtOrder.Text.Trim()); menu.IsEnabled = chkEnabled.Checked ? 1 : 0; try { int r = ms.Save(menu); //if (r > 0) { hidCode.Value = menu.MenuCode; if (action.Equals("add")) { ScriptUtil.ConfirmAndRedirect(@"菜单添加成功!\n“确定”继续添加,“取消”则跳转到列表页。", "MenuAdd.aspx?node=" + NodeCode, "MenuList.aspx?node=" + NodeCode); } else { ScriptUtil.ConfirmAndRedirect(@"菜单修改成功!\n“确定”留在本页,“取消”则跳转到列表页。", "MenuAdd.aspx?node=" + NodeCode + "&code=" + code + "&action=" + action, "MenuList.aspx?node=" + NodeCode); //ScriptUtil.Alert("菜单修改成功!"); } } } catch (Exception ex) { ScriptUtil.Alert(ex.Message); Logger.Error(ex.Message); } }
/// <summary> /// /// </summary> /// <param name="ddl"></param> /// <param name="menus"></param> /// <param name="parentCode"></param> /// <param name="prefix"></param> private void buildMenuTree(Table tbl, List <cmsMenu> menus, string parentCode, string prefix) { string pf = ""; List <cmsMenu> childs = menus.FindAll(delegate(cmsMenu m) { return(m.ParentCode == parentCode); }); for (int i = 0; i < childs.Count; i++) { cmsMenu item = childs[i]; TableRow tr = new TableRow(); tr.CssClass = "Row"; TableCell td = null; td = new TableCell(); HtmlInputText inp = new HtmlInputText(); inp.ID = item.MenuCode; inp.Size = 6; inp.Style.Add("text-align", "center"); inp.Attributes.Add("onblur", "changeOrder('" + inp.ID + "'," + item.OrderNo + ",this.value);"); inp.Value = item.OrderNo.ToString(); //td.Text = item.OrderNo.ToString(); td.Controls.Add(inp); tr.Cells.Add(td); td = new TableCell(); td.Style.Add("text-align", "left"); td.Style.Add("padding-left", "10px"); if (i < childs.Count - 1) { td.Text = prefix + "├" + item.MenuName; pf = prefix + "│"; } else { td.Text = prefix + "└" + item.MenuName; pf = prefix + " "; // 全角空格[ ]制表符[│][├][└] } tr.Cells.Add(td); td = new TableCell(); td.Style.Add("text-align", "left"); td.Text = item.MenuUrl; tr.Cells.Add(td); td = new TableCell(); td.Text = item.MenuType.Value == 0 ? "系统" : "应用"; tr.Cells.Add(td); td = new TableCell(); HtmlAnchor enable = new HtmlAnchor(); enable.InnerText = (item.IsEnabled.HasValue ? item.IsEnabled.Value == 1 : false) ? "是" : "否"; enable.HRef = "javascript:void(0);"; enable.Attributes.Add("onclick", "enable(this, '" + item.MenuCode + "'); return false;"); td.Controls.Add(enable); tr.Cells.Add(td); td = new TableCell(); HtmlAnchor add = new HtmlAnchor(); add.InnerText = "添加"; add.HRef = "MenuAdd.aspx?node=" + NodeCode + "&code=" + item.MenuCode + "&action=add"; td.Controls.Add(add); HtmlGenericControl blank = new HtmlGenericControl(); blank.InnerText = " "; td.Controls.Add(blank); HtmlAnchor edit = new HtmlAnchor(); edit.InnerText = "编辑"; edit.HRef = "MenuAdd.aspx?node=" + NodeCode + "&code=" + item.MenuCode + "&action=edit"; td.Controls.Add(edit); blank = new HtmlGenericControl(); blank.InnerText = " "; td.Controls.Add(blank); HtmlAnchor del = new HtmlAnchor(); del.InnerText = "删除"; del.HRef = "javascript:void(0);"; del.Attributes.Add("onclick", "del('" + item.MenuCode + "'); return false;"); td.Controls.Add(del); tr.Cells.Add(td); tbl.Rows.Add(tr); buildMenuTree(tbl, menus, item.MenuCode, pf); } }