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

.net编程

开发平台:

Others

  1. using System;
  2. using System.Data;
  3. using System.Drawing;
  4. using System.Web;
  5. using System.Web.UI.WebControls;
  6. using System.Web.UI.HtmlControls;
  7. using System.Windows.Forms;
  8. //引用数据库访问层。
  9. using qminoa.DA;
  10. using qminoa.Common;
  11. namespace qminoa.Webs.sysSecurity.module
  12. {
  13. /// <summary>
  14. /// UsersModule1 的摘要说明。
  15. /// 本页面为一个用户控件,作为SecurityRoles.aspx页面的一部分来显示。
  16. /// 本模块主要用来显示系统管理中的所有用户信息,可以查看用户的详细信息,添加和删除用户信息。
  17. /// 模块主要由一个DataList控件、一个LinkButton和两个DropDownList组成。
  18. /// </summary>
  19. public abstract class UsersModule : System.Web.UI.UserControl
  20. {   
  21. //定义一个DropDownList控件 UnitDrop用来显示单位信息。
  22. protected System.Web.UI.WebControls.DropDownList UnitDrop;
  23. //定义一个DropDownList控件 BranchDrop用来显示部门信息。
  24. protected System.Web.UI.WebControls.DropDownList BranchDrop;
  25. //定义一个DataList控件 UserList用来显示用户信息,包括查看和删除按钮。
  26. protected System.Web.UI.WebControls.DataList UserList;
  27. private void Page_Load(object sender, System.EventArgs e)
  28. {
  29. if (Page.IsPostBack == false) 
  30. {   //当第一次调用页面时绑定数据库数据。
  31. BindData();
  32. }
  33. }
  34. //从数据库中取得所有的模块信息数据,并显示在页面上。
  35. private void BindData() 
  36. {   
  37. //引用数据库访问层中的系统管理类。
  38. AdminDB admin = new AdminDB();
  39. //用数据库信息填充UnitDrop单位信息。
  40.             UnitDrop.DataSource=admin.GetAllBranch();
  41. UnitDrop.DataBind();
  42. //设置UnitDrop的默认选项为第一项。
  43. UnitDrop.SelectedIndex=0;
  44. //根据单位信息用数据库信息填充BranchDrop部门信息。
  45. BranchDrop.DataSource=admin.GetDepByBranch(Int32.Parse(UnitDrop.SelectedItem.Value));
  46.             BranchDrop.DataBind();
  47. BranchDrop.SelectedIndex=0;
  48. //根据单位信息用数据库信息填充UserList用户信息。
  49. UserList.DataSource=admin.GetEmpInfo(Int32.Parse(BranchDrop.SelectedItem.Value),"dep");
  50. UserList.DataBind(); 
  51. }
  52. #region Web Form Designer generated code
  53. override protected void OnInit(EventArgs e)
  54. {
  55. //
  56. // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
  57. //
  58. InitializeComponent();
  59. base.OnInit(e);
  60. }
  61. /// 设计器支持所需的方法 - 不要使用
  62. /// 代码编辑器修改此方法的内容。
  63. /// </summary>
  64. private void InitializeComponent()
  65. {
  66. this.UnitDrop.SelectedIndexChanged += new System.EventHandler(this.UnitDrop_SelectedIndexChanged);
  67. this.BranchDrop.SelectedIndexChanged += new System.EventHandler(this.BranchDrop_SelectedIndexChanged);
  68. this.UserList.ItemCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.UserList_ItemCommand);
  69. this.UserList.ItemDataBound += new System.Web.UI.WebControls.DataListItemEventHandler(this.OnAttachScript);
  70. this.Load += new System.EventHandler(this.Page_Load);
  71. }
  72. #endregion
  73. private void OnAttachScript (object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
  74. {
  75. if (e.Item.ItemType == ListItemType.Item ||
  76. e.Item.ItemType == ListItemType.AlternatingItem) 
  77. {
  78. ImageButton button = (ImageButton) e.Item.FindControl("Imagebutton4");
  79. button.Attributes.Add ("onclick",
  80. "return confirm ("确定要删除此项记录吗?");");
  81. }
  82. }
  83. //单位信息列表选择项改变事件函数。
  84. private void UnitDrop_SelectedIndexChanged(object sender, System.EventArgs e)
  85. {     //引用数据库访问层中的系统管理类。
  86.   AdminDB admin = new AdminDB();
  87.               //根据单位信息用数据库信息填充BranchDrop部门信息。
  88.   BranchDrop.DataSource=admin.GetDepByBranch(Int32.Parse(UnitDrop.SelectedItem.Value));
  89.   BranchDrop.DataBind();
  90.   //根据单位信息用数据库信息填充UserList用户信息。
  91.   UserList.DataSource=admin.GetEmpInfo(Int32.Parse(BranchDrop.SelectedItem.Value),"dep");
  92.       UserList.DataBind();   
  93. }
  94. //部门信息列表选择项改变事件函数。
  95. private void BranchDrop_SelectedIndexChanged(object sender, System.EventArgs e)
  96. {    //引用数据库访问层中的系统管理类。
  97. AdminDB admin = new AdminDB();
  98. //根据部门信息用数据库信息填充UserList用户信息。
  99. UserList.DataSource=admin.GetEmpInfo(Int32.Parse(BranchDrop.SelectedItem.Value),"dep");
  100. UserList.DataBind();   
  101. }
  102.          //UserList中的ItemCommand事件函数,用来完成各元素中的按钮事件。
  103. private void UserList_ItemCommand(object sender, DataListCommandEventArgs e) 
  104. {
  105.              //引用数据库访问层中的系统管理类。
  106. AdminDB admin = new AdminDB();
  107. //取得单击按钮在UserList控件中的主键值,取得用户号。
  108. int UserID = (int) UserList.DataKeys[e.Item.ItemIndex];
  109.              //判断事件的命令类型。
  110. if (e.CommandName == "edit") 
  111. {    
  112. //转到查看用户详细信息页面。
  113. Response.Redirect("UserRoles.aspx?userid=" + UserID,false);
  114. }
  115. else if (e.CommandName == "delete") 
  116. {
  117. if(admin.DeleteFuncRoleUser(UserID,"emp"))
  118. {
  119. JScript.Alert("删除成功!");
  120. BindData();
  121. }
  122. else
  123. JScript.Alert("删除失败!");
  124. }
  125. }
  126. //添加用户信息按钮事件函数。
  127. private void AddUserBtn_Click(object sender, System.EventArgs e)
  128. {      //转到添加用户信息页面。
  129.       Response.Redirect("UserRoles.aspx",false);
  130. }
  131. }
  132. }