Beispiel #1
0
        /// <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);
            }
        }
Beispiel #2
0
        /// <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);
            }
        }
Beispiel #3
0
 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;
             }
         }
     }
 }
Beispiel #4
0
        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);
            }
        }
Beispiel #5
0
        /// <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);
            }
        }