asp登录页面跳转到注册页面_asp.net 实现用户登录和注册——基于webform模式

5cc781c3067e9e601b0cdfec7fb6d942.gif点击上方蓝色字体,关注我们

   环境:Windows10 + VS2015 + 自带LocalDB

    看一下效果:

    1、注册页面:

c729c4341c0b66ca910f8a614de011a3.png

如果用户重名:

145d693aa1683fa3bf7ad3bfdd491fef.png

2、登录页:

9824cad8acc50f05b3aefd91c44ebaa8.png

3、注册或者登录好了会跳到Home页面并且显示当前的用户

下面看看关键代码:

①注册前台页面Register.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Register.aspx.cs" Inherits="Album.OnlineAlbum.Register" %>

span style="box-sizing: border-box;outline: 0px;overflow-wrap: break-word;">html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title>注册title>

<style>

form{

color:#575454;

width:500px;

margin:20px auto;

font-size:15px;

}

.label{

color:red;

font-size:12px;

font-family:'Lucida Console';

}

input.Tb{

border-radius:5px;

}

.user_name{ width:240px; height:38px; line-height:38px; border:1px solid #000; background:url(login_img_03.png) no-repeat left center; padding-left:30px; }

.user_name input{ width:230px; height:36px; border:1px solid #fff;color:#666;}

.password{ width:240px; height:38px; line-height:38px; border:1px solid #dfe1e8; background:url(login_img_09.png) no-repeat left center; padding-left:30px; }

.password input{ width:230px; height:36px; border:1px solid #000;color:#666;}

.transButton {

border:solid 1px;

background-color:transparent;

}

#btnRegister{

font-size:14px;

}

#linkToLogin{

text-decoration:none

}

#ckItem{

text-decoration:none

}

body{

background-image:url("rbg.jpg");

}

style>

head>

<body>

<form id="form1" runat="server">

<h2>欢迎注册OAh2>

<h3>每一天,记录美。h3>

<br />

<asp:ScriptManager ID="ScriptManager1" runat="server">

asp:ScriptManager>

<asp:TextBox runat="server" ID="rUserNameText" Height="40px" Width="490px" CssClass="Tb">asp:TextBox>

<br />

<asp:UpdatePanel ID="UpdatePanel1" runat="server">

<ContentTemplate>

<asp:CustomValidator ID="CustomValidator1" runat="server"

ControlToValidate="rUserNameText" ErrorMessage="*"

onservervalidate="CustomValidator1_ServerValidate">

asp:CustomValidator>

ContentTemplate>

asp:UpdatePanel>

<br />

<asp:TextBox runat="server" ID="rPsdText" TextMode="Password" Height="40px" Width="490px" CssClass="Tb">asp:TextBox>

<br />

<asp:UpdatePanel ID="UpdatePanel2" runat="server">

<ContentTemplate>

<asp:CustomValidator ID="CustomValidator2" runat="server"

ControlToValidate="rPsdText" ErrorMessage="*"

onservervalidate="CustomValidator2_ServerValidate">

asp:CustomValidator>

ContentTemplate>

asp:UpdatePanel>

<br />

<asp:TextBox runat="server" ID="rrPsdText" TextMode="Password" Height="40px" Width="490px" CssClass="Tb" >asp:TextBox>

<br />

<asp:UpdatePanel ID="UpdatePanel3" runat="server">

<ContentTemplate>

<asp:CustomValidator ID="CustomValidator3" runat="server"

ControlToValidate="rrPsdText" ErrorMessage="*"

onservervalidate="CustomValidator3_ServerValidate">

asp:CustomValidator>

ContentTemplate>

asp:UpdatePanel>

<br />

<table>

<tr>

<td>

<asp:CheckBox ID="CheckBox1" runat="server" Checked="true" />

td>

<td>

<span>同意span> <asp:LinkButton runat="server" Text="服务条款" ID="ckItem">asp:LinkButton>

td>

<td>

td>

<td>

<asp:LinkButton ID="linkToLogin" runat="server" Text="已有账号?登录" OnClick="linkToLogin_Click">asp:LinkButton>

td>

tr>

table>

<asp:Button ID="btnRegister" runat="server" CssClass="transButton" Height="49px" Text="注 册" Width="500px" OnClick="btnRegister_Click" />

form>

body>

<script type="text/javascript">

function watermark(id, value) {

var obj = document.getElementById(id);

var isPsdMode = false;

if (obj.type == "password")

{

obj.type = "text";

isPsdMode = true;

}

obj.value = value;

obj.style.color = "Gray";

//获取焦点事件

obj.onfocus = function () {

obj.style.color = "Black";

if (isPsdMode)

{

obj.type = "password";

}

if (this.value == value) {

this.value = '';

}

};

//失去焦点事件

obj.onblur = function () {

if (this.value == "") {

if (isPsdMode) {

obj.type = "text";

}

this.value = value;

obj.style.color = "Gray";

}

else {

obj.style.color = "Black";

}

};

}

window.onload = function () {

var arr = [{ 'id': 'rUserNameText', 'desc': '用户名' }, { 'id': 'rPsdText', 'desc': '密码' },{ 'id': 'rrPsdText', 'desc': '确认密码' }];

for (var i = 0; i < arr.length; i++) {

watermark(arr[i].id, arr[i].desc);

}

};

script>

html>

  注册后台页面Register.aspx.cs:

using System;

using System.Data;

using System.Data.SqlClient;

using System.Drawing;

namespace Album.OnlineAlbum

{

public partial class Register : System.Web.UI.Page

{

private bool UserNameIselgal = false;

private bool PsdIselgal = false;

private bool CanRegister = false;

protected void Page_Load(object sender, EventArgs e)

{

}

protected void linkToLogin_Click(object sender, EventArgs e)

{

Response.Redirect("Login.aspx");

}

protected void btnRegister_Click(object sender, EventArgs e)

{

Session["User"] = rUserNameText.Text;

Session["Psd"] = rPsdText.Text;

string connStr = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True";

SqlConnection conn = new SqlConnection(connStr);

try

{

conn.Open();

SqlCommand cmd = new SqlCommand("select count(*) from UserTable where UId=@UId", conn);

cmd.Parameters.Add("@UId", SqlDbType.Char);

cmd.Parameters[0].Value = Session["User"];

int count = (int)cmd.ExecuteScalar();

if (count > 0)

{

Response.Write(");

}

else

{

CanRegister = true;

}

}

catch

{

Response.Write("检测重名异常");

}

finally

{

conn.Close();

}

if (CanRegister)

{

try

{

conn.Open();

string strIns = "insert into UserTable(UId, Psd) values(@UId, @Psd)";

SqlCommand cmd = new SqlCommand(strIns, conn);

cmd.Parameters.Add("@UId", SqlDbType.NChar);

cmd.Parameters.Add("@Psd", SqlDbType.NChar);

cmd.Parameters["@UId"].Value = Session["User"];

cmd.Parameters["@Psd"].Value = Session["Psd"];

cmd.ExecuteNonQuery();

}

catch

{

Response.Write("注册异常");

}

finally

{

conn.Close();

}

}

CanRegister = CanRegister && UserNameIselgal && PsdIselgal;

if (CanRegister)

{

Session["CurrentUser"] = rUserNameText.Text;

Response.Redirect("Home.aspx");

}

}

protected void CustomValidator1_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args)

{

if (rUserNameText.Text.Equals("用户名"))

{

CustomValidator1.ErrorMessage = "*用户名为空";

args.IsValid = false;

} else if (System.Text.RegularExpressions.Regex.IsMatch(rUserNameText.Text, "^[0-9a-zA-Z]+$") &&

rUserNameText.Text.Length > 5 && rUserNameText.Text.Length < 11)

{

args.IsValid = true;

UserNameIselgal = true;

}

else

{

CustomValidator1.ErrorMessage = "*用户名由6~10位数字和字母构成";

args.IsValid = false;

}

}

protected void CustomValidator2_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args)

{

if (rPsdText.Text.Equals("密码"))

{

CustomValidator2.ErrorMessage = "*密码为空";

args.IsValid = false;

}

else if (System.Text.RegularExpressions.Regex.IsMatch(rPsdText.Text, "^[0-9a-zA-Z]+$") &&

rPsdText.Text.Length > 4)

{

args.IsValid = true;

}

else

{

CustomValidator2.ErrorMessage = "*密码由全数字和字母构成且不少于5位";

args.IsValid = false;

}

}

protected void CustomValidator3_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args)

{

if (rrPsdText.Text.Equals("") ||rrPsdText.Text.Equals("确认密码"))

{

args.IsValid = false;

CustomValidator3.ErrorMessage = "*确认密码为空";

}

else if (!rrPsdText.Text.Equals(rPsdText.Text))

{

args.IsValid = false;

CustomValidator3.ErrorMessage = "*两次密码不一致";

}

else

{

PsdIselgal = true;

args.IsValid = true;

}

}

}

}

    ②登录前台页面Login.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="Album.OnlineAlbum.Login" %>

span style="box-sizing: border-box;outline: 0px;overflow-wrap: break-word;">html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title>登陆title>

<style>

form{

color:#575454;

width:500px;

margin: auto;

font-size:15px;

margin-top:260px;

}

#spanpsd{

margin-left:125px;

}

#spanuser{

margin-left:110px;

}

div{

margin:30px auto;

align-content:center;

}

.textbox{

border:solid 1px;

background:rgba(0, 0, 0, 0);

}

#LinkButton1{

text-decoration:none;

color:lightblue;

margin-left:230px;

}

#Button1{

border-radius:2px;

border:solid 1px;

background-color:transparent;

margin-left:150px;

margin-top:10px;

}

body{

background-image: url("lbg.jpg");

}

style>

head>

<body>

<form id="form1" runat="server">

<div>

<div>

<span id="spanuser">用户名:span>

<asp:TextBox ID="TextBox1" runat="server" CssClass="textbox" Height="30px" Width="240px">asp:TextBox>

div>

<div>

<span id="spanpsd">密码:span>

<asp:TextBox ID="TextBox2" runat="server" CssClass="textbox" Height="30px" Width="240px" TextMode="Password">asp:TextBox>

div>

<div>

<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">没有账号?注册asp:LinkButton>

<br />

<asp:Button ID="Button1" runat="server" Text="登 录" Width="270px" Height="40px" OnClick="Button1_Click" />

div>

div>

form>

body>

html>

    登录后台页面Login.aspx.cs:

using System;

using System.Collections.Generic;

using System.Data;

using System.Data.SqlClient;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace Album.OnlineAlbum

{

public partial class Login : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void LinkButton1_Click(object sender, EventArgs e)

{

Response.Redirect("Register.aspx");

}

protected void Button1_Click(object sender, EventArgs e)

{

string connStr = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True";

SqlConnection conn = new SqlConnection(connStr);

try

{

conn.Open();

SqlCommand cmd = new SqlCommand("select count(*) from UserTable where UId=@UId and Psd=@Psd", conn);

cmd.Parameters.Add("@UId", SqlDbType.Char);

cmd.Parameters.Add("@Psd", SqlDbType.Char);

cmd.Parameters[0].Value = TextBox1.Text;

cmd.Parameters[1].Value = TextBox2.Text;

int count = (int)cmd.ExecuteScalar();

if (count == 1)

{

Session["CurrentUser"] = TextBox1.Text;

Response.Redirect("./Home.aspx");

}

else

{

Response.Write(");

}

}

catch

{

Response.Write(");

}

finally

{

conn.Close();

}

}

}

}

    ③Home.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Home.aspx.cs" Inherits="Album.OnlineAlbum.Home" %>

span style="box-sizing: border-box;outline: 0px;overflow-wrap: break-word;">html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title>Online Ablumtitle>

<style>

#page_header{

height:20px;

margin-left:10px;

}

style>

head>

<body>

<form runat="server">

<asp:LinkButton runat="server" OnClick="Unnamed2_Click" ID="btnToReg">注册asp:LinkButton>

 <asp:LinkButton runat="server" OnClick="Unnamed1_Click" ID="btnToLog">登录asp:LinkButton>

form>

body>

html>

    home.aspx.cs:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace Album.OnlineAlbum

{

public partial class Home : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

if (Session["CurrentUser"] != null)

btnToReg.Text = Session["CurrentUser"].ToString();

}

protected void Unnamed1_Click(object sender, EventArgs e)

{

Response.Redirect("Login.aspx");

}

protected void Unnamed2_Click(object sender, EventArgs e)

{

Response.Redirect("Register.aspx");

}

}

}    

   Web.config:

<configuration>

<connectionStrings>

<add name="ConnectionString" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True"

providerName="System.Data.SqlClient" />

connectionStrings>

<appSettings>

<add key="ValidationSettings:UnobtrusiveValidationMode" value="none"/>

appSettings>

<system.web>

<compilation debug="true" targetFramework="4.5.2"/>

<httpRuntime targetFramework="4.5.2"/>

<httpModules>

<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web"/>

httpModules>

system.web>

<system.codedom>

<compilers>

<compiler language="c#;cs;csharp" extension=".cs"

type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>

<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"

type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+"/>

compilers>

system.codedom>

<system.webServer>

<validation validateIntegratedModeConfiguration="false"/>

<modules>

<remove name="ApplicationInsightsWebTracking"/>

<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web"

preCondition="managedHandler"/>

modules>

system.webServer>

configuration>

最新资讯请大家关注公众号:

208b6b01f7e71eb6a0796ec9fee57632.png

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值