写一个登陆用的用户控件。
2004-08-19 18:37
417 查看
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
{
4000
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);
}
}
}
}
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
{
4000
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);
}
}
}
}
相关文章推荐
- 在ASP.NET 2.0中操作数据之十二:在GridView控件中使用TemplateField
- Asp.Net 重定向必须要知道的一些资料
- 用 Asp.Net 建立一个在线 RSS 新闻聚合器的方法
- 我的应聘总结!
- Microsoft Visual Studio .NET 2003制作安装程序
- Java测试规范(引用)
- oracle中的分页
- Java面试题目
- delphi中的时间操作技术(2)
- 解析IP地址为主机域名
- 将某一主机域名解析为IP地址
- 獲取SQL SERVER用戶表信息游標
- 有关TrueDBGrid的问题向各位大虾请教
- 学ASP.NET学什么?
- 使用C#开发COM+组件
- 微软的常用资源列表
- TreeView学习笔记
- 如何在VB例程中接收自定义消息
- UML应用点滴积累
- DOM心得