authoritymanage.aspx.cs

来自「计算机学院网站及管理系统」· CS 代码 · 共 315 行

CS
315
字号
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace ComputerWeb
{
	/// <summary>
	/// Summary description for ManageQualification.
	/// </summary>
	public class ManageQualification : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.DropDownList RoleList;
		protected System.Web.UI.WebControls.ListBox TabList;
		protected System.Web.UI.WebControls.Button AddAllTab;
		protected System.Web.UI.WebControls.Button AddTab;
		protected System.Web.UI.WebControls.Button DeleteAllTab;
		protected System.Web.UI.WebControls.Button DeleteTab;
		protected System.Web.UI.WebControls.ListBox RoleTabList;
		protected System.Web.UI.WebControls.Button SureBtn;
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			if(!Page.IsPostBack)
			{
				BindRoleData();				
				BindTabData();		

				if(RoleList.SelectedIndex > -1)
				{
					BindRoleTabData(Int32.Parse(RoleList.SelectedValue));
				}
			}
		}

		private void BindRoleData()
		{
			RoleList.Items.Clear();

			RoleDB role = new RoleDB();
			SqlDataReader recr = role.GetRoles();

			RoleList.DataSource = recr;
			RoleList.DataTextField = "RoleName";
			RoleList.DataValueField = "RoleID";
			RoleList.DataBind();

			recr.Close();			
		}

		private void BindTabData()
		{
			TabList.Items.Clear();

			TabDB tab = new TabDB();
			SqlDataReader rect = tab.GetTabs();

			TabList.DataSource = rect;
			TabList.DataTextField = "TabName";
			TabList.DataValueField = "TabID";
			TabList.DataBind();

			rect.Close();				
		}

		private void BindRoleTabData(int nRoleID)
		{
			RoleTabList.Items.Clear();

			RoleTabDB roleTab = new RoleTabDB();
			SqlDataReader recrT = roleTab.GetTabByRole(nRoleID);

			RoleTabList.DataSource = recrT;
			RoleTabList.DataTextField = "TabName";
			RoleTabList.DataValueField = "TabID";
			RoleTabList.DataBind();

			recrT.Close();
		}

		private void RoleList_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			if(RoleList.SelectedIndex > -1)
			{
				//绑定当前用户拥有权限的页表
				BindRoleTabData(Int32.Parse(RoleList.SelectedValue));
			}
			else
			{
				Response.Write("<script>alert(\"请选择角色!\")</script>");
			}
		}

		private void AddDeleteTab_Click(object sender, System.EventArgs e)
		{
			String commandName = ((Button)sender).CommandName;

			switch(commandName)
			{
				case "addall":
				{
					AddAll();
					break;
				}
				case "add":
				{
					Add();
					break;
				}
				case "deleteall":
				{
					DeleteAll();
					break;
				}
				case "delete":
				{
					Delete();
					break;
				}
				default:
				{
					break;
				}
			}
		}

		/// <summary>
		/// 添加所有的管理页表
		/// </summary>
		private void AddAll()
		{
			RoleTabList.Items.Clear();

			for(int i = 0; i< RoleTabList.Items.Count; i++)
			{
				if(IsExistTab(RoleTabList.Items[i].Text) == false)
				{
					RoleTabList.Items.Add(new ListItem(RoleTabList.Items[i].Text,RoleTabList.Items[i].Value));
				}
			}
		}

		/// <summary>
		/// 添加一个管理页表
		/// </summary>
		private void Add()
		{
			if(RoleTabList.SelectedIndex > -1)
			{
				if(IsExistTab(RoleTabList.Items[RoleTabList.SelectedIndex].Text) == false)
				{
					RoleTabList.Items.Add(new ListItem(RoleTabList.Items[RoleTabList.SelectedIndex].Text,
						RoleTabList.Items[RoleTabList.SelectedIndex].Value));
				}
				else
				{
					Response.Write("<script>alert(\"你选择添加的页表已经存在!\")</script>");
				}
			}
			else
			{
				Response.Write("<script>alert(\"请选择要添加的页表!\")</script>");
			}
		}

		/// <summary>
		/// 删除所有管理的页表
		/// </summary>
		private void DeleteAll()
		{
			RoleTabList.Items.Clear();
		}

		/// <summary>
		/// 删除一个管理的页表
		/// </summary>
		private void Delete()
		{
			if(RoleTabList.SelectedIndex > -1)
			{
				RoleTabList.Items.RemoveAt(RoleTabList.SelectedIndex);
			}
			else
			{
				Response.Write("<script>alert(\"请选择要删除的页表!\")</script>");
			}
		}

		/// <summary>
		/// 判定添加的页表是否在用户已经管理的页表内
		/// 如果包含:返回 True;
		/// 否则返回 False;
		/// </summary>
		private bool IsExistTab(String sTabName)
		{
			bool isExist = false;
			if(RoleTabList.Items.Count > 0)
			{
				for(int i = 0; i < RoleTabList.Items.Count; i++)
				{
					if(sTabName == RoleTabList.Items[i].Text)
					{
						isExist = true;
						break;
					}
				}
			}
			else
			{
				isExist = false;
			}
			return(isExist);			
		}

		/// <summary>
		/// 提交,更新数据库
		/// </summary>
		private void SureBtn_Click(object sender, System.EventArgs e)
		{
			RoleTabDB roleTab = new RoleTabDB();

			if(RoleTabList.Items.Count > 0)
			{
				try
				{
					roleTab.DeleteRoleTab(Int32.Parse(RoleList.SelectedValue));
				}
				catch(Exception ex)
				{
					string sRawURL = Request.RawUrl;

					if(sRawURL.IndexOf("?") > -1)
					{
						sRawURL = sRawURL.Substring(0,sRawURL.IndexOf("?"));
					}
					Response.Redirect("~/Admin/AdminDenid.aspx?ErrorURL=" + sRawURL + "&ErrorInfo=" + ex.Message.Replace("\n","<br>"));
				}
				
				try
				{
					for(int i = 0; i < RoleTabList.Items.Count; i++)
					{
						roleTab.AddRoleTab(Int32.Parse(RoleList.SelectedValue),Int32.Parse(RoleTabList.Items[i].Value));
					}
				}
				catch(Exception ex)
				{
					string sRawURL = Request.RawUrl;

					if(sRawURL.IndexOf("?") > -1)
					{
						sRawURL = sRawURL.Substring(0,sRawURL.IndexOf("?"));
					}
					Response.Redirect("~/Admin/AdminDenid.aspx?ErrorURL=" + sRawURL + "&ErrorInfo=" + ex.Message.Replace("\n","<br>"));
				}
			}
			else
			{
				//当用户列表的管理页表为空时,直接删除用户管理的页表
				try
				{
					roleTab.DeleteRoleTab(Int32.Parse(RoleList.SelectedValue));
				}
				catch(Exception ex)
				{
					string sRawURL = Request.RawUrl;

					if(sRawURL.IndexOf("?") > -1)
					{
						sRawURL = sRawURL.Substring(0,sRawURL.IndexOf("?"));
					}
					Response.Redirect("~/Admin/AdminDenid.aspx?ErrorURL=" + sRawURL + "&ErrorInfo=" + ex.Message.Replace("\n","<br>"));
				}

				Response.Write("<script>alert(\"拥有权限的页表为空!\")</script>");
			}
			Response.Write ("<script>alert(\"权限修改成功!\");</script>");
		}

		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{    
			this.RoleList.SelectedIndexChanged += new System.EventHandler(this.RoleList_SelectedIndexChanged);
			this.AddAllTab.Click += new System.EventHandler(this.AddDeleteTab_Click);
			this.AddTab.Click += new System.EventHandler(this.AddDeleteTab_Click);
			this.DeleteAllTab.Click += new System.EventHandler(this.AddDeleteTab_Click);
			this.DeleteTab.Click += new System.EventHandler(this.AddDeleteTab_Click);
			this.SureBtn.Click += new System.EventHandler(this.SureBtn_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?