UserList.aspx.cs
上传用户:gooyliu
上传日期:2018-09-29
资源大小:5816k
文件大小:6k
源码类别:

.net编程

开发平台:

C#

  1. using System;
  2. using System.Collections;
  3. using System.Configuration;
  4. using System.Data;
  5. using System.Linq;
  6. using System.Web;
  7. using System.Web.Security;
  8. using System.Web.UI;
  9. using System.Web.UI.WebControls;
  10. using System.Web.UI.WebControls.WebParts;
  11. using System.Web.UI.HtmlControls;
  12. using System.Xml.Linq;
  13. using BusinessLogicLayer;
  14. namespace Web.SysAdmin
  15. {
  16. public partial class UserList : System.Web.UI.Page
  17. {
  18. protected void Page_Load(object sender, EventArgs e)
  19. {
  20.    // Response.Write("debugMsg:page load");
  21.     if (!IsPostBack)
  22.     {
  23.         Response.Write("!IsPostBack");
  24.         BindGrdUserList();
  25.         lblDebugMsg.Text = "";
  26.     }
  27.   
  28. }
  29. public void BindGrdUserList()
  30. {
  31.     Users user = new Users();
  32.     DataSet userDS = user.QueryUsers();
  33.     gridviewUserList.DataSource = userDS;
  34.     this.lblDebugMsg.Text += " -->before DataBind   ";
  35.     gridviewUserList.DataBind();
  36.     this.lblDebugMsg.Text += "  -->after DataBind   ";
  37.     lblDisplay(userDS);
  38. }
  39. public void lblDisplay(DataSet userDS)//修改每行两个label要最终显示的数据
  40. {
  41.     for (int i = 0; i < gridviewUserList.Rows.Count; i++)
  42.     {
  43.         Label labelRole = (Label)gridviewUserList.Rows[i].FindControl("lblRole");
  44.         Label labelGender=(Label)gridviewUserList.Rows[i].FindControl("lblGender");
  45.         if (labelRole != null)  //当edit事件时只加载<EditItemTemplate>而不加载<ItemTemplate>,找不到lblGender 
  46.         {
  47.             DataRowView drv = userDS.Tables[0].DefaultView[i];
  48.             if ( drv["roleID"].ToString().Trim( ) =="1")
  49.                 labelRole.Text = "系统管理员";
  50.             if (drv["roleID"].ToString().Trim( ) == "2")
  51.                 labelRole.Text = "系统操作员";
  52.             if (drv["roleID"].ToString().Trim( ) == "3")
  53.                 labelRole.Text = "读者";
  54.         }
  55.         if (labelGender != null)
  56.         {
  57.             DataRowView drv = userDS.Tables[0].DefaultView[i];
  58.             if (drv["userGender"].ToString().Trim() == "False")
  59.                 labelGender.Text = "女";
  60.             if (drv["userGender"].ToString().Trim() == "True")
  61.                 labelGender.Text = "男";
  62.         }   
  63.     }
  64. }
  65. //GridView控件RowDeleting事件
  66. protected void gridviewUserList_RowDeleting(object sender, GridViewDeleteEventArgs e)
  67. {
  68.     string userID = gridviewUserList.DataKeys[e.RowIndex].Values[0].ToString();//取得所在行的userID,与gridview的DataKeyNames属性有关
  69.     Users user = new Users();
  70.    
  71.     if (user.DeleteByProc(userID))
  72.         Response.Write("<script language=javascript>alert('删除成功!')</script>");
  73.     else
  74.         Response.Write("<script language=javascript>alert('删除失败!')</script>");
  75.     gridviewUserList.EditIndex = -1;
  76.     BindGrdUserList();
  77. }
  78. //点击编辑时触发
  79. protected void gridviewUserList_RowEditing(object sender, GridViewEditEventArgs e)
  80. {
  81.     this.lblDebugMsg.Text += "  -->RowEditing   ";
  82.     gridviewUserList.EditIndex = e.NewEditIndex; //GridView编辑项索引等于单击行的索引
  83.     BindGrdUserList();
  84. }
  85. //取消更新时触发
  86. protected void gridviewUserList_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
  87. {
  88.     gridviewUserList.EditIndex = -1;
  89.     BindGrdUserList();
  90. }
  91. protected void gridviewUserList_RowUpdating(object sender, GridViewUpdateEventArgs e)
  92. {
  93.     string userID = gridviewUserList.DataKeys[e.RowIndex].Values[0].ToString();
  94.     Users user = new Users();
  95.     //user.UserName = txtName.text;只能用findcontrol()获得新值,无法直接txtName(无智能提示)
  96.     user.UserName = ((TextBox)gridviewUserList.Rows[e.RowIndex].FindControl("txtName")).Text.Trim();
  97.     user.RoleID = Convert.ToInt32(((DropDownList)gridviewUserList.Rows[e.RowIndex].FindControl("ddlRole")).SelectedValue);
  98.     user.UserGender = Convert.ToBoolean(((DropDownList)gridviewUserList.Rows[e.RowIndex].FindControl("ddlGender")).SelectedValue);
  99.     user.UserDepartment = ((TextBox)gridviewUserList.Rows[e.RowIndex].FindControl("txtDept")).Text.Trim();
  100.     user.UserAddress = ((TextBox)gridviewUserList.Rows[e.RowIndex].FindControl("txtAddress")).Text.Trim();
  101.     if (user.UpdateByProc(userID) == true)
  102.         Response.Write("<script language=javascript>alert('修改成功!') </script>");
  103.     else
  104.     Response.Write("<script language=javascript>alert('修改失败!') </script>");
  105.    
  106.     gridviewUserList.EditIndex = -1;//善后处理,重新绑定
  107.     BindGrdUserList();
  108. }
  109. protected void gridviewUserList_DataBinding(object sender, EventArgs e)
  110. {
  111.     this.lblDebugMsg.Text += "  -->DataBinding   ";
  112. }
  113. protected void gridviewUserList_DataBound(object sender, EventArgs e)
  114. {
  115.     this.lblDebugMsg.Text += "  -->DataBound   ";
  116. }
  117. protected void gridviewUserList_RowCreated(object sender, GridViewRowEventArgs e)
  118. {
  119.     this.lblDebugMsg.Text += "  -->RowCreated   ";
  120. }
  121. protected void gridviewUserList_RowDataBound(object sender, GridViewRowEventArgs e)
  122. {
  123.     this.lblDebugMsg.Text += "  -->RowDataBound   ";
  124.     DropDownList ddlRl = (DropDownList)e.Row.FindControl("ddlRole");
  125.     DropDownList ddl = (DropDownList)e.Row.FindControl("ddlGender");//edit时才能找到
  126.     if (ddlRl != null)
  127.     {
  128.         ddlRl.SelectedValue = ((HiddenField)e.Row.FindControl("hdfRole")).Value;//设置默认显示对应的值
  129.     }
  130.     if (ddl != null)
  131.     {
  132.         ListItem item1 = new ListItem("男", "True");
  133.         ListItem item2 = new ListItem("女", "False");
  134.         ddl.Items.Add(item1);
  135.         ddl.Items.Add(item2);
  136.         ddl.SelectedValue = ((HiddenField)e.Row.FindControl("hdfGender")).Value;
  137.     }     
  138.     
  139. }
  140. protected void gridviewUserList_RowCommand(object sender, GridViewCommandEventArgs e)
  141. {
  142.     this.lblDebugMsg.Text += "  -->_RowCommand   ";
  143. }
  144. public DataSet getDataSet()//edit时为角色的dropdownlist提供数据源
  145. {
  146.     DataAccessLayer.DataBase db = new DataAccessLayer.DataBase();
  147.     DataSet ds = db.GetDataSet("Proc_GetRole");
  148.     return ds;
  149. }
  150. }
  151. }