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); } } } }

|