⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userlist.aspx.cs

📁 C#2005 实例源代码
💻 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 + -