FuncRightSet.aspx.cs
上传用户:autodoor
上传日期:2022-08-04
资源大小:9973k
文件大小:7k
源码类别:

.net编程

开发平台:

Others

  1. using System;
  2. using System.Collections;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Web;
  7. using System.Web.SessionState;
  8. using System.Web.UI;
  9. using System.Web.UI.WebControls;
  10. using System.Web.UI.HtmlControls;
  11. using System.Data.SqlClient;
  12. //引用数据库访问层。
  13. using qminoa.DA;
  14. using qminoa.Common;
  15. namespace qminoa.Webs.sysSecurity
  16. {
  17. public class FuncRightSet  : qminoa.Webs.PageBase
  18. {   
  19. protected System.Web.UI.WebControls.TextBox txbFuncName;
  20. protected System.Web.UI.WebControls.TextBox txbFuncDes;
  21. protected System.Web.UI.WebControls.DropDownList FuncRoleDrop;
  22.         protected System.Web.UI.WebControls.DataList FuncRoleList;
  23. protected System.Web.UI.WebControls.LinkButton lbnOK;
  24. protected System.Web.UI.WebControls.LinkButton lbncannel;
  25. protected System.Web.UI.WebControls.LinkButton lbnFuncUpdate;
  26. protected System.Web.UI.WebControls.LinkButton AddFunc;
  27.     public int FuncID;
  28. private void Page_Load(object sender, System.EventArgs e)
  29. {
  30. this.PageBegin("模块管理",true);
  31. FuncID=Int32.Parse(Request.QueryString["funcid"]);
  32. if (Page.IsPostBack == false) 
  33. {
  34. BindData();
  35. }
  36. else 
  37. ReSetCheckListInfo();
  38. }
  39. private void BindData() 
  40. {   
  41. AdminDB admin = new AdminDB();
  42. SqlDataReader dr=admin.GetFuncInfo(FuncID) ;
  43. dr.Read();
  44. txbFuncName.Text=dr["FuncName"].ToString();
  45. txbFuncDes.Text=dr["Description"].ToString();
  46. FuncRoleList.DataSource=admin.GetFuncRole(FuncID);
  47. FuncRoleList.DataBind();
  48.             SetCheckListInfo();
  49. FuncRoleDrop.DataSource=admin.GetAllRoles();
  50. FuncRoleDrop.DataBind(); 
  51. }
  52. public void SetCheckListInfo()
  53. {
  54. for (int FuncNum=0; FuncNum<FuncRoleList.Items.Count;FuncNum++)
  55. {
  56. int lastindex=Int32.Parse(((System.Web.UI.WebControls.Label)FuncRoleList.Items[FuncNum].FindControl("LastSelectIndex")).Text);
  57. for(int i=0;i<((CheckBoxList)FuncRoleList.Items[FuncNum].FindControl("checkRightSet")).Items.Count;i++)
  58. if(i<=lastindex)
  59. ((CheckBoxList)FuncRoleList.Items[FuncNum].FindControl("checkRightSet")).Items[i].Selected=true;
  60. else    
  61. ((CheckBoxList)FuncRoleList.Items[FuncNum].FindControl("checkRightSet")).Items[i].Selected=false;
  62. }
  63. }
  64. public void ReSetCheckListInfo()
  65. {
  66. for (int FuncNum=0; FuncNum<FuncRoleList.Items.Count;FuncNum++)
  67. {
  68. int lastindex=Int32.Parse(((System.Web.UI.WebControls.Label)FuncRoleList.Items[FuncNum].FindControl("LastSelectIndex")).Text);
  69.     int newindex=GetCheckListInfo(FuncNum,lastindex);
  70.     ((System.Web.UI.WebControls.Label)FuncRoleList.Items[FuncNum].FindControl("LastSelectIndex")).Text=newindex.ToString();
  71.     for(int i=0;i<((CheckBoxList)FuncRoleList.Items[FuncNum].FindControl("checkRightSet")).Items.Count;i++)
  72.    if(i<=newindex)
  73.    ((CheckBoxList)FuncRoleList.Items[FuncNum].FindControl("checkRightSet")).Items[i].Selected=true;
  74.    else    
  75.    ((CheckBoxList)FuncRoleList.Items[FuncNum].FindControl("checkRightSet")).Items[i].Selected=false;
  76.             }
  77. }
  78. public int GetCheckListInfo(int index,int LastSelectIndex)
  79. {  
  80. int NewSelectIndex=-2;
  81. for(int ChBox=0;ChBox<((CheckBoxList)FuncRoleList.Items[index].FindControl("checkRightSet")).Items.Count;ChBox++)
  82. if( ((CheckBoxList)FuncRoleList.Items[index].FindControl("checkRightSet")).Items[ChBox].Selected==true&&ChBox> LastSelectIndex)
  83. NewSelectIndex=ChBox;
  84. else if( ((CheckBoxList)FuncRoleList.Items[index].FindControl("checkRightSet")).Items[ChBox].Selected==false&&ChBox<=LastSelectIndex)
  85. NewSelectIndex=ChBox-1; 
  86. if (NewSelectIndex==-2)
  87.                 NewSelectIndex=LastSelectIndex;
  88. return   NewSelectIndex;
  89. }
  90. #region Web Form Designer generated code
  91. override protected void OnInit(EventArgs e)
  92. {
  93. //
  94. // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
  95. InitializeComponent();
  96. base.OnInit(e);
  97. }
  98. /// <summary>
  99. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  100. /// 此方法的内容。
  101. /// </summary>
  102. private void InitializeComponent()
  103. {
  104. this.lbnFuncUpdate.Click += new System.EventHandler(this.lbnFuncUpdate_Click);
  105. this.AddFunc.Click += new System.EventHandler(this.AddFunc_Click);
  106. this.FuncRoleList.ItemCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.FuncRoleList_ItemCommand);
  107. this.lbnOK.Click += new System.EventHandler(this.lbnOK_Click);
  108. this.lbncannel.Click += new System.EventHandler(this.lbncannel_Click);
  109. this.Load += new System.EventHandler(this.Page_Load);
  110. }
  111. #endregion
  112. private void FuncRoleList_ItemCommand(object sender, DataListCommandEventArgs e) 
  113. {
  114. AdminDB admin = new AdminDB();
  115. int RoleID = (int) FuncRoleList.DataKeys[e.Item.ItemIndex];
  116.             String RoleName=((System.Web.UI.WebControls.Label)e.Item.FindControl("lbRoleName")).Text;
  117. if (e.CommandName == "edit") 
  118. {
  119. if(this.CheckAuth("角色管理") >= 3)
  120. Response.Redirect("RolesFuncUsers.aspx?roleid=" +RoleID,false);
  121. else
  122. JScript.Alert("您没有权限进行此操作!");
  123. }
  124. else if (e.CommandName == "delete") 
  125. {
  126. if(this.EmpRightCode == 4)
  127. {
  128. if(admin.DeleteFuncRole(FuncID,RoleID))
  129. {
  130. this.WriteOptLog("删除模块角色关联信息(模块ID:"+FuncID.ToString()+",角色ID:"+RoleID.ToString()+")");
  131. JScript.Alert("删除成功!");
  132. BindData();
  133. }
  134. else
  135. JScript.Alert("删除失败!");
  136. }
  137. else
  138. {
  139. JScript.Alert("您没有权限进行此操作!");
  140. }
  141. }
  142. }
  143. private void lbnFuncUpdate_Click(object sender, System.EventArgs e)
  144. {   
  145. if(this.EmpRightCode >= 3)
  146. {
  147. AdminDB admin = new AdminDB();
  148. admin.UpdateFuncInfo(FuncID,txbFuncName.Text,txbFuncDes.Text);
  149. BindData();
  150. }
  151. else
  152. {
  153. JScript.Alert("您没有权限进行此操作!");
  154. }
  155. }
  156. private void lbnOK_Click(object sender, System.EventArgs e)
  157. {
  158. if(this.EmpRightCode >= 3)
  159. {
  160. for(int i=0;i<FuncRoleList.Items.Count;i++)
  161. {
  162. AdminDB admin = new AdminDB();
  163. int roleid=(int)FuncRoleList.DataKeys[i];
  164. int rightfalg=Int32.Parse(((System.Web.UI.WebControls.Label)FuncRoleList.Items[i].FindControl("LastSelectIndex")).Text);
  165. admin.UpdateFuncRoleRight(FuncID,roleid,rightfalg);
  166. }
  167. Response.Redirect("moduleadmin.aspx",false);
  168. }
  169. else
  170. {
  171. JScript.Alert("您没有权限进行此操作!");
  172. }
  173. }
  174. private void AddFunc_Click(object sender, System.EventArgs e)
  175. {   
  176. if(this.EmpRightCode >= 3)
  177. {
  178. AdminDB admin = new AdminDB();
  179. admin.AddFuncRole(FuncID,Int32.Parse(FuncRoleDrop.SelectedItem.Value));
  180. this.WriteOptLog("添加模块角色关联信息(模块ID:"+FuncID.ToString()+",角色ID:"+FuncRoleDrop.SelectedItem.Value.ToString()+")");
  181. BindData();
  182. }
  183. else
  184. {
  185. JScript.Alert("您没有权限进行此操作!");
  186. }
  187. }
  188. private void lbncannel_Click(object sender, System.EventArgs e)
  189. {
  190. Response.Redirect("moduleadmin.aspx",false);
  191. }
  192. }
  193. }