分享
 
 
 

C#做的ASP.NET登錄篇

王朝c#·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

C#做的ASP.NET登錄篇

一、新建一个数据库

新建一个access数据user.mdb。

新建一个user表,添加:UserId(文本类型)及Password(文本类型)两个字段。

二、新建一个default.aspx文件。

在Web Form里:

加入两个Label控件,Text属性分别为“登录名”和“密码”;

加入两个TextBox控件,ID属性分别为“Userid”和“Pwd”,Text属性均为空;

加入两个RequiredFieldValidato控件,ID属性分别为“rfvUserid”和“rfvPwd”,Text属性分别为“请输入登录名!”和“请输入登录密码!”,ControlToValidate属性分别为"Userid"和"Pwd";

加入一个Button控件,ID属性为“LogButton”,Text属性别为“登录”;

最后加入一个Label控件,ID属性为“Msg”。

Default.aspx源代码如下:

<%@ Page language="c#" Codebehind="default.aspx.cs" AutoEventWireup="false" Inherits="lsj.WebForm1" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

<HTML>

<HEAD>

<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">

<meta name="CODE_LANGUAGE" Content="C#">

<meta name="vs_defaultClientScript" content="JavaScript (ECMAScript)">

<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">

</HEAD>

<body MS_POSITIONING="GridLayout">

<FONT face="宋体">

<form runat="server" ID="Form1">

<asp:Label id="Label1" style="Z-INDEX: 101; LEFT: 82px; POSITION: absolute; TOP: 39px" runat="server" Width="55px"

Height="26px">登录名</asp:Label>

<asp:Label id="Label2" style="Z-INDEX: 102; LEFT: 80px; POSITION: absolute; TOP: 84px" runat="server" Width="63px" Height="24px">密码</asp:Label>

<asp:TextBox id="Userid" style="Z-INDEX: 103; LEFT: 161px; POSITION: absolute; TOP: 39px" runat="server" Width="109px" Height="25px"></asp:TextBox>

<asp:TextBox id="Pwd" style="Z-INDEX: 104; LEFT: 162px; POSITION: absolute; TOP: 81px" runat="server" Width="109px" Height="22px" TextMode="Password"></asp:TextBox>

<asp:Button id="LogButton" style="Z-INDEX: 105; LEFT: 79px; POSITION: absolute; TOP: 125px" runat="server" Width="59px" Height="25px" Text="登录"></asp:Button>

<asp:Label id="Msg" style="Z-INDEX: 106; LEFT: 161px; POSITION: absolute; TOP: 130px" runat="server" Width="117px" Height="26px"></asp:Label>

<asp:RequiredFieldValidator id="RequiredFieldValidator1" style="Z-INDEX: 107; LEFT: 290px; POSITION: absolute; TOP: 43px" runat="server" Width="162px" Height="18px" ErrorMessage="RequiredFieldValidator" ControlToValidate="Userid">请输入登录名!</asp:RequiredFieldValidator>

<asp:RequiredFieldValidator id="RequiredFieldValidator2" style="Z-INDEX: 108; LEFT: 292px; POSITION: absolute; TOP: 83px" runat="server" Width="175px" Height="22px" ErrorMessage="RequiredFieldValidator" ControlToValidate="Pwd">请输入登录密码!</asp:RequiredFieldValidator>

</form>

</FONT>

</body>

</HTML>

三、编写default.aspx.cs文件。

双击LogButton,

1、加入using System.Data.OleDb;

2、先在class中声明:

public string strConnection;

OleDbConnection myConn;

3、加入数据库链接:

把下面代码加入“Page_Init(object sender, EventArgs e)”的“InitializeComponent();”后面.

string strConnection="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"..\\user.mdb;";

myConn=new OleDbConnection(strConnection);

4、在LogButton_Click(object sender, System.EventArgs e)事件中加入下面的代码:

string userid,pwd;

userid=Userid.Text;

pwd=Pwd.Text;

string mySel="SELECT count(*) as iCount from user where UserID=""+userid+""";

OleDbCommand myCmd1=new OleDbCommand(mySel,myConn);

myCmd1.Connection.Open();

OleDbDataReader Dr1;

Dr1=myCmd1.ExecuteReader();

Dr1.Read();

string Count=Dr1["iCount"].ToString();

Dr1.Close();

myCmd1.Connection.Close();

string DrPwd,DrRoles;

if(Count!="0")

{

mySel="SELECT * from user where UserID=""+userid+""";

OleDbCommand myCmd=new OleDbCommand(mySel,myConn);

myCmd.Connection.Open();

OleDbDataReader Dr;

Dr=myCmd.ExecuteReader();

Dr.Read();

DrPwd=Dr["Password"].ToString();

Dr.Close();

if(DrPwd==pwd)

{

Session["logid"]=userid;

Response.Redirect("main.aspx");

}

else

Msg.Text="登录密码错.";

}

else

Msg.Text="没有这个用户.";

好了,全部工作已经完成,default.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 System.Data.OleDb;

namespace lsj

{

/// <summary>

/// Summary description for WebForm1.

/// </summary>

public class WebForm1 : System.Web.UI.Page

{

protected System.Web.UI.WebControls.Label Label1;

protected System.Web.UI.WebControls.Label Label2;

protected System.Web.UI.WebControls.TextBox Userid;

protected System.Web.UI.WebControls.Button LogButton;

protected System.Web.UI.WebControls.TextBox Pwd;

protected System.Web.UI.WebControls.Label Msg;

protected System.Web.UI.HtmlControls.HtmlForm Form1;

protected System.Web.UI.WebControls.RequiredFieldValidator rfvUserid;

protected System.Web.UI.WebControls.RequiredFieldValidator rfvPwd;

public string strConnection;

OleDbConnection myConn;

public WebForm1()

{

Page.Init += new System.EventHandler(Page_Init);

}

private void Page_Load(object sender, System.EventArgs e)

{

}

private void Page_Init(object sender, EventArgs e)

{

InitializeComponent();

string strConnection="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"..\\user.mdb;";

//user.mdb放在与aspx文件同一目录下

myConn=new OleDbConnection(strConnection);

}

private void InitializeComponent()

{

this.LogButton.Click += new System.EventHandler(this.LogButton_Click);

this.Load += new System.EventHandler(this.Page_Load);

}

private void LogButton_Click(object sender, System.EventArgs e)

{

string userid,pwd;

userid=Userid.Text;

pwd=Pwd.Text;

string mySel="SELECT count(*) as iCount from user where UserID=""+userid+""";

OleDbCommand myCmd1=new OleDbCommand(mySel,myConn);

myCmd1.Connection.Open();

OleDbDataReader Dr1;

Dr1=myCmd1.ExecuteReader();

Dr1.Read();

string Count=Dr1["iCount"].ToString();

Dr1.Close();

myCmd1.Connection.Close();

string DrPwd,DrRoles;

if(Count!="0")

{

mySel="SELECT * from user where UserID=""+userid+""";

OleDbCommand myCmd=new OleDbCommand(mySel,myConn);

myCmd.Connection.Open();

OleDbDataReader Dr;

Dr=myCmd.ExecuteReader();

Dr.Read();

DrPwd=Dr["Password"].ToString();

Dr.Close();

if(DrPwd==pwd)

{

Session["logid"]=userid;//新建一个Session

Response.Redirect("main.aspx");

}

else

Msg.Text="登录密码错.";

}

else

Msg.Text="没有这个用户.";

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有