寫一個登陸用的用戶控件 - 中國WEB開發者網絡 (http://www.webasp.net) -- 技術教程 (http://www.webasp.net/article/) --- 寫一個登陸用的用戶控件 (http://www.webasp.net/article/13/12472.htm) |
| -- 作者:未知 -- 發佈日期: 2004-08-21 |
| Ascx文件中,放入TextBox控件,分別作為用戶與密碼的輸入,再放入一個ImageButton,其它不多說
CodeBehind頁面: namespace GST.UI { using System; using System.Data; using System.Drawing; using System.Web; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; /// <summary> /// 用戶登錄控件 /// </summary> public class Login : System.Web.UI.UserControl { //系統聲明 protected System.Web.UI.WebControls.TextBox txtUser; protected System.Web.UI.WebControls.TextBox txtPass; protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1; protected System.Web.UI.WebControls.ImageButton imgSubmit; protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2; //Declare Delegate public delegate void EventHandler(object sender,LoginEventArgs e); public event EventHandler LoginSystem ; public void OnLoginSystem(LoginEventArgs e) { if(LoginSystem!=null) { LoginSystem(this,e); } } private void Page_Load(object sender, System.EventArgs e) { // 在此處放置用戶代碼以初始化頁面 //Response.Write(this.FindControl("txtUser").UniqueID); } #region Web 窗體設計器生成的代碼 override protected void OnInit(EventArgs e) { // // CODEGEN: 該調用是 ASP.NET Web 窗體設計器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 設計器支持所需的方法 - 不要使用代碼編輯器 /// 修改此方法的內容。 /// </summary> private void InitializeComponent() { this.imgSubmit.Click += new System.Web.UI.ImageClickEventHandler(this.imgSubmit_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void imgSubmit_Click(object sender, System.Web.UI.ImageClickEventArgs e) { //引發事件 this.OnLoginSystem(new LoginEventArgs(txtUser.Text ,txtPass.Text)); } } /// <summary> /// 定義一個提供Login事件數據的類 /// </summary> public class LoginEventArgs:System.EventArgs { private string _User; private string _Pass; public LoginEventArgs(string User,string Pass) { _User = User; _Pass = Pass; } //帳號屬性 public string User { get{return _User;} set{_User= value;} } //密碼屬性 public string Pass { get{return _Pass;} set{_Pass = value;} } } } aspx頁面調用 <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <uc1:login id="Login1" runat="server"></uc1:login></form> </body> 後台代碼部分 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 System.EnterpriseServices ; using GST.Common ; using GST.Purview; using GST.UI; using SysAdmin ; namespace GST.Purview { /// <summary> /// LoginPurView 的摘要說明。 /// </summary> public class LoginPurView : BasePage { //一定要聲明。 protected UI.Login Login1; //Declare private void Page_Load(object sender, System.EventArgs e) { // 在此處放置用戶代碼以初始化頁面 } #region Web 窗體設計器生成的代碼 override protected void OnInit(EventArgs e) { // // CODEGEN: 該調用是 ASP.NET Web 窗體設計器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 設計器支持所需的方法 - 不要使用代碼編輯器修改 /// 此方法的內容。 /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); this.Login1.LoginSystem +=new GST.UI.Login.EventHandler(Login1_LoginSystem); } #endregion private void Login1_LoginSystem(object sender, LoginEventArgs e) { this.Sql ="Select Count(*) From tGSTAdmin Where AdminName='" + e.User +"'"; try { if(Convert.ToInt32(DbConn.ExecuteScalar(Sql))==0) { ResponseMsg2("用戶帳號不存在"); } else { this.Sql="Select AdminGUID From tGSTAdmin Where AdminName='"+ e.User +"' And AdminPass='"+ e.Pass +"'"; DataTable Dt = DbConn.ExecuteDataTable(this.Sql); if(Dt.Rows.Count > 0) { this.Session["Admin"] = e.User ; this.Session["AdminGUID"] = Dt.Rows[0][0]; this.DbConn.ExecuteSql("Update tGSTAdmin Set SrcIP='" + Request.UserHostAddress +"' Where AdminName='" + e.User +"'"); Response.Redirect("Default.aspx"); } else { ResponseMsg2("用戶或者密碼錯誤"); } } } catch(Exception ex) { ResponseError("出錯",ex); } } } } |
| webasp.net |