📄 roleright.aspx.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 System.Configuration;
using gyit.Data;
namespace itcrm.admin
{
/// <summary>
/// RoleRight 的摘要说明。
/// </summary>
public class RoleRight : System.Web.UI.Page
{
DBOperator db;
protected System.Web.UI.WebControls.Button btnAddOne;
protected System.Web.UI.WebControls.Button btnDelOne;
protected System.Web.UI.WebControls.ListBox lstHaveMenu;
protected System.Web.UI.WebControls.ListBox lstMenu;
protected System.Web.UI.WebControls.ListBox lstRole;
private void Page_Load(object sender, System.EventArgs e)
{
db =DBOperator.CreateObject((string)ConfigurationSettings.AppSettings["DSN"]);
if(!Page.IsPostBack)
BindRole();
BindMenu();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.lstRole.SelectedIndexChanged += new System.EventHandler(this.lstRole_SelectedIndexChanged);
this.btnAddOne.Click += new System.EventHandler(this.btnAddOne_Click);
this.btnDelOne.Click += new System.EventHandler(this.btnDelOne_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
//*** 绑定角色
private void BindRole()
{
string strSql="select RoleID,RoleName from Role";
DataSet ds=null;
db.Open();
ds=db.exeSqlForDataSet(strSql);
db.Close();
lstRole.DataSource=ds;
lstRole.DataValueField="RoleID";
lstRole.DataTextField="RoleName";
lstRole.DataBind();
lstRole.Dispose();
ds.Dispose();
}
//**** 绑定菜单
private void BindMenu()
{
string strSql="select MenuID,NodeName from SysMenu";
DataSet ds=null;
db.Open();
ds=db.exeSqlForDataSet(strSql);
db.Close();
lstMenu.DataSource=ds;
lstMenu.DataValueField="MenuID";
lstMenu.DataTextField="NodeName";
lstMenu.DataBind();
lstMenu.Dispose();
ds.Dispose();
}
private void BindHaveMenu(string who)
{
string strSql="select Sy.MenuID,Sy.NodeName,R.RoleID,R.MenuID from SysMenu Sy,RoleRight R where Sy.MenuID in(select MenuID from RoleRight where RoleID='"+who+"')and R.MenuID=Sy.MenuID and R.RoleID='"+who+"'";
DataSet ds=new DataSet();
db.Open();
ds=db.exeSqlForDataSet(strSql);
db.Close();
try
{
lstHaveMenu.DataSource=ds;
lstHaveMenu.DataTextField="NodeName";
lstHaveMenu.DataValueField="MenuID";
lstHaveMenu.DataBind();
}
catch(System.Exception ee)
{
Page.Response.Write("<br>"+ee.Message);
}
if(ds!=null)
lstHaveMenu.Dispose();
ds.Dispose();
}
//*** lst触发
private void lstRole_SelectedIndexChanged(object sender, System.EventArgs e)
{
if(lstRole.SelectedIndex>-1)
{
BindHaveMenu(lstRole.SelectedItem.Value);
}
}
//单项增加
private void btnAddOne_Click(object sender, System.EventArgs e)
{
if(lstMenu.SelectedIndex>-1)
AddOne();
}
//*** 单项删除
private void DelOne(string who)
{
string strSql="delete from RoleRight where MenuID='"+who+"'";
db.Open();
db.exeSql(strSql);
db.Close();
BindHaveMenu(lstRole.SelectedItem.Value);
}
//*** 单项增加
private void AddOne()
{
string[] strPara =new string[2];
object[] strValues=new object[2];
strPara[0]="@RoleID";
strPara[1]="@MenuID";
if(lstRole.SelectedIndex>-1)
strValues[0]=lstRole.SelectedItem.Value;
if(lstMenu.SelectedIndex>-1)
strValues[1]=lstMenu.SelectedItem.Value;
try
{
db.Open();
db.exeProc("Add_RoleRight",strPara,strValues);
db.Close();
BindHaveMenu(lstRole.SelectedItem.Value);
}
catch(System.Exception ee)
{
Page.Response.Write("<br>"+ee.Message);
}
}
//**** 删除
private void btnDelOne_Click(object sender, System.EventArgs e)
{
if(lstHaveMenu.SelectedIndex>-1)
DelOne(lstHaveMenu.SelectedItem.Value);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -