/// <summary> /// 保存菜单节点 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSave_Click(object sender, EventArgs e) { int result = -1; bool isForced = chkIsForced.Checked; AspnetMenuItem item = new AspnetMenuItem(); if (lblMenuId.Text != "") { item.MenuId = int.Parse(lblMenuId.Text); } if (lblFatherId.Text == "") { item.FatherId = 0; } else { item.FatherId = int.Parse(lblFatherId.Text); } item.Title = txtMenuName.Text; item.Description = txtdescription.Text.Trim(); item.Keywords = txtMenuKeys.Text.Trim(); item.Url = txtUrl.Text.Trim(); item.ItemType = int.Parse(rblItemType.SelectedValue); item.AuthType = int.Parse(rblAuthType.SelectedValue); if (item.AuthType == 3) { List <string> roles = new List <string>(); foreach (ListItem ritem in chkRoles.Items) { if (ritem.Selected) { roles.Add(ritem.Text); } } item.Roles = roles.ToArray(); } else { item.Roles = new string[0]; } if (item.MenuId > 0) { result = AspnetMenu.UpdateMenuItem(item, isForced); } else { result = AspnetMenu.AddMenuItem(item, isForced); } /* * 0: 正常操作 * 1: 当前应用的父分类不存在 * 2: 当前应用中的URL已经被添加 * 3: 授权冲突,已存在相应基本URL的授权 * 4: 授权类型不正确 * 5: 输入的URL有错误 * 6: 当前应用不存在 * */ switch (result) { case 0: lblResult.Text = "操作成功"; break; case 1: lblResult.Text = "当前应用的父分类不存在"; break; case 2: lblResult.Text = "当前应用中的URL已经被添加,可以通过添加参数来保证url不冲突"; break; case 3: lblResult.Text = "授权冲突,已存在相应基本URL的授权"; break; case 4: lblResult.Text = "授权类型不正确"; break; case 5: lblResult.Text = "输入的URL有错误"; break; case 6: lblResult.Text = "当前应用不存在"; break; default: lblResult.Text = "发生不确定错误"; break; } BindMenuTreeView(); }
/// <summary> /// 菜单节点改变 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void tvMenu_SelectedNodeChanged(object sender, EventArgs e) { TreeNode node = tvMenu.SelectedNode; int menuId = int.Parse(node.Value); if (menuId != 0) { AspnetMenuItem item = AspnetMenu.GetMenuItem(menuId); lblMenuId.Text = item.MenuId.ToString(); lblFatherId.Text = item.FatherId.ToString(); txtMenuName.Text = item.Title; txtdescription.Text = item.Description; txtMenuKeys.Text = item.Keywords; rblItemType.SelectedIndex = item.ItemType; txtUrl.Text = item.Url; foreach (ListItem authitem in rblAuthType.Items) { if (authitem.Value == item.AuthType.ToString()) { authitem.Selected = true; } else { authitem.Selected = false; } } if (item.AuthType == 3) { chkRoles.Enabled = true; } else { chkRoles.Enabled = false; } btnDelete.Enabled = true; btnSave.Enabled = true; foreach (ListItem ritem in chkRoles.Items) { bool ischeck = false; for (int i = 0; i < item.Roles.Length; i++) { if (item.Roles[i] == ritem.Text) { ischeck = true; break; } } ritem.Selected = ischeck; } } else { lblMenuId.Text = node.Value; txtMenuName.Text = node.Text; btnDelete.Enabled = false; btnSave.Enabled = false; } }