📄 userlist.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 MyOA.BusinessLogicLayer;
using MyOA.DataAccessHelper;
using MyOA.CommonComponent;
namespace MyOA.Web
{
/// <summary>
/// UserList 的摘要说明。
/// </summary>
public partial class UserList : System.Web.UI.Page
{
/// <summary>
/// 页面加载事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
InitData();
Query();
}
ImageButtonResetPassword.Attributes.Add("onClick","javascript:return confirm('确定重置密码?');");
ImageButtonDelete.Attributes.Add("onclick","javascript:return confirm('确定删除?');");
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.ImageButtonQuery.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButtonQuery_Click);
this.ImageButtonUpdate.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButtonUpdate_Click);
this.ImageButtonDelete.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButtonDelete_Click);
this.ImageButtonResetPassword.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButtonResetPassword_Click);
}
#endregion
/// <summary>
/// 初始化页面数据
/// </summary>
private void InitData()
{
//初始化:类别下拉框中的数据,用Department表中的数据进行绑定
DataTable dt= Department.Query(new Hashtable());
DropDownListDepartment.Items.Add(new ListItem("全部",""));
foreach(DataRow dr in dt.Rows)
{
DropDownListDepartment.Items.Add(new ListItem(dr["DepartmentName"].ToString(),dr["DepartmentId"].ToString()));
}
}
/// <summary>
/// 根据页面上用户输入的查询条件,查询用户数据
/// </summary>
private void Query()
{
//构造查询Hash对象
Hashtable queryItems=new Hashtable();
queryItems.Add("UserName",TextBoxUserName.Text);
if(DropDownListDepartment.SelectedValue!="")
queryItems.Add("[User].DepartmentId",Convert.ToInt32(DropDownListDepartment.SelectedValue));
DataTable dt=MyOA.BusinessLogicLayer.User.QueryUsers(queryItems);
GV.DataSource = dt;
GV.DataBind();
//保存下拉框的选择项到ViewState数组对象
ViewState.Add("DropDownListDepartment",DropDownListDepartment.SelectedValue);
LabelPageInfo.Text = "查询结果(第" + (GV.PageIndex + 1).ToString() + "页 共" + GV.PageCount.ToString() + "页)";
}
/// <summary>
/// 保持页面上所有下拉框的选项
/// </summary>
private void ResetQueryValue()
{
//重置部门下拉框
foreach(ListItem Item in DropDownListDepartment.Items)
{
if (Item.Value==ViewState["DropDownListDepartment"].ToString())
Item.Selected = true;
else
Item.Selected = false;
}
}
/// <summary>
/// 得到用户的选择
/// </summary>
/// <returns>所选用户集合</returns>
private ArrayList GetSelected()
{
ArrayList selectedItems = new ArrayList();
foreach (GridViewRow row in GV.Rows)
{
if (((CheckBox)row.FindControl("chkSelected")).Checked)
{
selectedItems.Add(Convert.ToString(row.Cells[1].Text));//登录名
}
}
return selectedItems;
}
/// <summary>
/// “查询”按钮单击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ImageButtonQuery_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
Query(); //查询数据
ResetQueryValue(); //恢复下拉框选择项
}
/// <summary>
/// “修改”按钮单击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ImageButtonUpdate_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
ArrayList selectedUsers=GetSelected();
if(selectedUsers.Count!=1)
{
Response.Write("<Script Language=JavaScript>alert('请选择一个用户!');</Script>");
return;
}
string loginName=selectedUsers[0].ToString();
Response.Redirect("UserUpdate.aspx?login_name="+loginName);
}
/// <summary>
/// “删除”按钮单击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ImageButtonDelete_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
ArrayList selectedUsers=GetSelected();
foreach(string loginName in selectedUsers)
{
MyOA.BusinessLogicLayer.User.Delete(loginName);
}
Query();
ResetQueryValue();
}
/// <summary>
/// 重置密码
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ImageButtonResetPassword_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
//随即生成一个字符串,并将用户的密码修改为这个字符串
ArrayList selectedUsers=GetSelected();
if(selectedUsers.Count!=1)
{
Response.Write("<Script Language=JavaScript>alert('请选择一个用户!');</Script>");
return;
}
string loginName = selectedUsers[0].ToString();
Random ran = new Random();
string newPassword=(ran.Next(999999).ToString().PadLeft(6,'8')); //随机生成一个密码
string encryptedPassword=Encrypt.EncryptString(newPassword,loginName); //加密
string where=" Where LoginName = "
+MyOA.DataAccessHelper.SqlStringConstructor.GetQuotedString(loginName);
Hashtable ht=new Hashtable();
ht.Add("PassWord",SqlStringConstructor.GetQuotedString(encryptedPassword));
MyOA.BusinessLogicLayer.User.Update(ht,where);
Response.Write("<Script language=JavaScript>alert('"+loginName+"的密码已经重置,新密码为【"+newPassword+"】。');</Script>");
}
/// <summary>
/// 翻页事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GV.PageIndex = e.NewPageIndex;
Query();
ResetQueryValue(); //恢复下拉框选择项
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -