⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ruleauthority.aspx.cs

📁 毕业设计时做的,一个管理关于污染管理的, 源代码,呵呵 想想当时还真厉害,可以实现污染检测
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using gyit.Data;
using System.Configuration;

namespace itcrm.admin
{
	/// <summary>
	/// UserManager 的摘要说明。
	/// Author:  何 朝 祥
	/// Date;    2004.5.5
	/// </summary>
	public class RuleAuthority : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Button btnDelete;
		protected System.Web.UI.WebControls.Button btnAdd;
		protected System.Web.UI.WebControls.ListBox lstMan;
		protected System.Web.UI.WebControls.DataGrid DataGrid1;
		protected System.Web.UI.WebControls.DataGrid DataGrid2;
		protected System.Web.UI.WebControls.CheckBox CheckAll2;
		protected System.Web.UI.WebControls.CheckBox CheckAll;
		public DBOperator db;
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			DataGrid1.DataKeyField="MenuID";
			DataGrid2.DataKeyField="AutoID";
			
			db =DBOperator.CreateObject((string)ConfigurationSettings.AppSettings["DSN"]);
			if (!Page.IsPostBack)
			{
					
				    BindRole();
				    DataShow(lstMan.Items[0].Value);
		    }
			 
				

		}

		
//*********** 帮 定 用 户
		public void BindRole()
		{
			DataSet ds=new DataSet();
			string strSQL="select RoleID,RoleName from Role ";
			db.Open();
			ds=db.exeSqlForDataSet(strSQL);
			db.Close();
			lstMan.DataSource=ds.Tables[0].DefaultView;
			lstMan.DataTextField=ds.Tables[0].Columns["RoleName"].ToString();
			lstMan.DataValueField=ds.Tables[0].Columns["RoleID"].ToString();
			lstMan.DataBind();
			if(ds!=null)
				ds.Dispose();
		}


//*********  绑  定  角  色

		private void DataShow(string who)
		{
			BindAllRule(who);
			BindHavedRule(who);
		}
//***********   所有权限绑定
		private void BindAllRule(string who)
		{
			string strSQL ="SELECT S.MenuID,S.NodeName FROM SysMenu S where S.MenuID not in (select MenuID FROM RoleRight where RoleID='"+who+"')";
			//string strSQL="select ur.RuleID,ur.RuleName from UserRule ur case where ur.RuleID in(select RuleID from UserAuthority where UserID='"+who+"') state as 'a' or state as 'bb'";
			db.Open();
			DataGrid1.DataSource=db.exeSqlForDataSet(strSQL);
			db.Close();
			DataGrid1.DataBind();
			DataGrid1.Dispose();
		}
//********  已有权限绑定
		private void BindHavedRule(string who)
		{
			string strSQL ="SELECT S.MenuID,S.NodeName,R.RoleID,R.AutoID from SysMenu S,RoleRight R where S.MenuID in (select MenuID FROM RoleRight where RoleID='"+who+"') and R.MenuID=S.MenuID and R.RoleID='"+who+"'";
			db.Open();
			DataGrid2.DataSource=db.exeSqlForDataSet(strSQL);
			db.Close();
			DataGrid2.DataBind();
			DataGrid2.Dispose();
		}

		
		
		

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.lstMan.SelectedIndexChanged += new System.EventHandler(this.lstMan_SelectedIndexChanged);
			this.CheckAll.CheckedChanged += new System.EventHandler(this.CheckAll_CheckedChanged);
			this.CheckAll2.CheckedChanged += new System.EventHandler(this.CheckAll2_CheckedChanged);
			this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
			this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		
		
//*************   添 加 或 删 除
		
		public void UpdateUserAuthority(int intID)
		{   
			bool IsChecked=false;
			string strChk="Remove";
			DataGrid tempDataGrid;
			tempDataGrid=DataGrid1;

			string[] strPara =new string[3];
			object[] strValues=new object[3];
			strPara[0]="@RoleID";
			strPara[1]="@MenuID";
			strPara[2]="@ID";
			
            if (intID==2)
			{
				if(lstMan.SelectedIndex>-1)
				{
					tempDataGrid=DataGrid2;
					strChk="CheckOne2";
					string tempRuleID=lstMan.SelectedItem.Value;
			        strValues[0]=tempRuleID;

					foreach(DataGridItem CheckBoxItem in  tempDataGrid.Items)
					{    
						IsChecked=((CheckBox)CheckBoxItem.FindControl(strChk)).Checked;
						if (IsChecked)
						{
							strValues[1]=tempDataGrid.DataKeys[CheckBoxItem.ItemIndex].ToString();				
							strValues[2]=IsChecked.ToString().ToLower();
							
							try
							{
								db.Open();
							    db.exeSql("delete from RoleRight where AutoID='"+strValues[1].ToString()+"'");
							    db.Close();
							}
							catch (System.Exception ee)
							{
								Response.Write ("<br>erro="+ee.Message);
							}
						}
					}
				}
			}

			else if(intID==1)
			{ 
				if(lstMan.SelectedIndex>-1)
				{
					string tempRuleID=lstMan.SelectedItem.Value;
			        strValues[0]=tempRuleID;
					foreach(DataGridItem CheckBoxItem in  tempDataGrid.Items)
					{
						IsChecked=((CheckBox)CheckBoxItem.FindControl(strChk)).Checked;
						if (IsChecked)
						{
							strValues[1]=tempDataGrid.DataKeys[CheckBoxItem.ItemIndex].ToString();				
							strValues[2]=IsChecked.ToString().ToLower();
							
							try
							{
								db.Open();
								db.exeProc("Update_RoleRight",strPara,strValues);
								db.Close();
							}
							catch (System.Exception ee)
							{
								Response.Write ("<br>erro="+ee.Message);
							}
						}
					}
				}
			}
			
		}

		
//*********   删除权限
		private void btnDelete_Click(object sender, System.EventArgs e)
		{
			UpdateUserAuthority(2);
			if(lstMan.SelectedIndex>-1)
			{
				DataShow(lstMan.SelectedItem.Value);
				//CheckAll.Checked=false;
				//CheckAll2.Checked=false;
			}
		}
//*********   LisBox触发事件
		private void lstMan_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			if(lstMan.SelectedIndex>-1)
			{
				DataShow(lstMan.SelectedItem.Value);
				//CheckAll.Checked=false;
				//CheckAll2.Checked=false;
			}
			
		}
//********  添加权限
		private void btnAdd_Click(object sender, System.EventArgs e)
		{
			UpdateUserAuthority(1);
			if(lstMan.SelectedIndex>-1)
			{
				DataShow(lstMan.SelectedItem.Value);
				//CheckAll.Checked=false;
				//CheckAll2.Checked=false;
			}
			
		}
//********* CheckBox 全选		

		private void CheckAll_CheckedChanged(object sender, System.EventArgs e)
		{    
			
			
				if(CheckAll.Checked==true)
			{
				foreach(DataGridItem CheckBoxItem in DataGrid1.Items)
				{
					((CheckBox)CheckBoxItem.FindControl("Remove")).Checked=true;
					 
				}
			}
			if(CheckAll.Checked==false)
			{
				foreach(DataGridItem CheckBoxItem in DataGrid1.Items)
				{
					((CheckBox)CheckBoxItem.FindControl("Remove")).Checked=false;
				}
			}
		    


		}

		private void CheckAll2_CheckedChanged(object sender, System.EventArgs e)
		{
			if(CheckAll2.Checked==true)
			{
				foreach(DataGridItem CheckBoxItem in DataGrid2.Items)
				{
					((CheckBox)CheckBoxItem.FindControl("CheckOne2")).Checked=true;
					
				}
			}
			if(CheckAll2.Checked==false)
			{
				foreach(DataGridItem CheckBoxItem in DataGrid2.Items)
				{
					((CheckBox)CheckBoxItem.FindControl("CheckOne2")).Checked=false;
				}
			}
		    
		
		}

		

		

		

	}
}

⌨️ 快捷键说明

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