📄 rolepower.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 OI.DatabaseOper;
using System.Data .SqlClient ;
namespace IO.Manage
{
/// <summary>
/// RolePower 的摘要说明。
/// </summary>
public class RolePower : OI.PageBase
{
DatabaseConnect OpDase =new DatabaseConnect ();
string Parentid ;
protected System.Web.UI.HtmlControls.HtmlForm Form1;
protected System.Web.UI.WebControls.Label Lbl_Parentmodel;
protected System.Web.UI.WebControls.DataGrid dg;
string roleid;
protected System.Web.UI.WebControls.Label LabelRole;
protected System.Web.UI.WebControls.ImageButton ImageButton1;
protected OI.DatabaseOper.DatabaseConnect Dbc=new DatabaseConnect ();
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (Session["userid"]==null)
{
Response.Write ("<script>alert('超时,请重新登录');top.location.href='../userpass.aspx';</script>");
return ;
}
Parentid=Request.QueryString ["Parentid"];
if (Parentid==null)
{
Parentid="0";
}
if (Page.IsPostBack )
{
}
else //首次执行
{
roleid=Request.QueryString ["roleid"];
//roleid="20";
ViewState["roleid"]=roleid;
if (Parentid != "0")
{
FindParentName(Parentid);
}
DataTable dt=new DataTable ();
dt =CreateDataSource(Parentid);
Displaydg(dt);
LabelRole.Text =Dbc.GetObjectBySql ("select RoleName from Accounts_Roles where roleid="+ViewState["roleid"]).ToString ();
}
}
private void FindParentName(string parentid)
{
string strsql="select modulename ,ParentModuleID, ModuleID ,description from models where ModuleID ='" +parentid +"'";
DataSet ds=new DataSet ();
ds=OpDase.getBinding (strsql,"table");
string href="<a href=\"RolePower.aspx?roleid="+ViewState["roleid"].ToString()+"&parentid="+ds.Tables[0].Rows[0]["ParentModuleID"].ToString ()+"\" title='点击返回上层'>";
string name=ds.Tables[0].Rows[0]["modulename"].ToString ();
if (ds.Tables[0].Rows[0]["ParentModuleID"].ToString () !="0")
{
Lbl_Parentmodel.Text =" -->" +href+name+"</a> "+ Lbl_Parentmodel.Text ;
FindParentName( ds.Tables[0].Rows[0]["ParentModuleID"].ToString ());
}
else
{
Lbl_Parentmodel.Text =href+name+"</a> "+ Lbl_Parentmodel.Text ;
}
}
private DataTable CreateDataSource( string Parentid)
{
string strsql ="select moduleid,modulename, parentmoduleid,description from models where showmenu !=0 and parentmoduleid ='" +Parentid + "' order by ModuleID";
DataSet ds=new DataSet ();
ds=OpDase.getBinding (strsql,"table");
DataColumn col=new DataColumn ("modulenames",typeof(String));
col.Expression ="'<a href=\"RolePower.aspx?roleid="+ViewState["roleid"].ToString()+"&Parentid='+moduleid+'\">'+modulename+'</a>'";
ds.Tables[0].Columns.Add (col);
return ds.Tables[0];
}
private void Displaydg(DataTable table)
{
dg.DataSource =table;
dg.DataBind ();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.dg.ItemCreated += new System.Web.UI.WebControls.DataGridItemEventHandler(this.dg_ItemCreated);
this.dg.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.dg_ItemDataBound);
this.ImageButton1.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void dg_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType !=ListItemType.Footer && e.Item.ItemType !=ListItemType.Header )
{
CheckBox CkboxRole=new CheckBox ();
CkboxRole =(CheckBox)e.Item .FindControl ("CkboxRole");
string strsql="select count(*) from account_rolepermission where RoleID ="+ViewState["roleid"] + " and ModuleID='"+ e.Item.Cells[0].Text +"'";
string number=Dbc.GetValueBySql(strsql);
if(int.Parse (number) ==0 )
{
CkboxRole.Checked =false;
}
else
{
CkboxRole.Checked =true;
}
}
}
private void CkboxRole_CheckedChanged(object sender,System.EventArgs e)
{
CheckBox CkboxRole=new CheckBox() ;
CkboxRole =(CheckBox)sender;
TableRow tr=new TableRow ();
tr=(TableRow) CkboxRole.Parent.Parent ;
string modelid=tr.Cells[0].Text ;
bool power=CkboxRole.Checked ;
Set_rolepermission(modelid,power);
}
private void SetPowers(string modelid,bool power)
{
string strsql ="select moduleid,modulename, parentmoduleid from models where showmenu !=0 and parentmoduleid ='" +modelid + "' order by ModuleID";
DataSet ds=new DataSet ();
ds=OpDase.getBinding (strsql,"table");
}
private void Set_rolepermission(string CurrentModelID,bool power)
{
string strsql="select moduleid from models where parentmoduleid='"+CurrentModelID +"'";
DataSet ds=new DataSet ();
ds=Dbc.getBinding (strsql,"s");
for (int i=0;i< ds.Tables[0].Rows.Count ;i++) //(DataRow dr in ds.Tables [0])
{
Set_rolepermission(ds.Tables[0].Rows[i]["moduleid"].ToString (),power);
}
if (power)
{
strsql=" insert into Account_RolePermission (RoleID,ModuleID) values ("+ ViewState["roleid"] + ",'"+CurrentModelID+"')";
}
else
{
strsql ="delete from Account_RolePermission where ModuleID='"+CurrentModelID +"' and RoleID="+ViewState["roleid"];
}
Dbc.ExecuteSQL (strsql);
}
private void CheckBox1_CheckedChanged(object sender, System.EventArgs e)
{
CheckBox cb=(CheckBox)sender ;
Response.Write (cb.Checked.ToString () );
}
private void dg_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType !=ListItemType.Footer && e.Item.ItemType !=ListItemType.Header )
{
CheckBox CkboxRole=new CheckBox ();
CkboxRole =(CheckBox)e.Item .FindControl ("CkboxRole");
CkboxRole.CheckedChanged += new EventHandler(CkboxRole_CheckedChanged);
}
}
private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
Response.Redirect ("role.aspx");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -