一.说明
此文是小白在学习张晨光老师的视频教学<<Asp.Net WEB服务器编程技术>>中做的学习笔记,一些知识点也是跟着教程走的,大家也可以去老师的主页去学习,谢谢大家.
二.登录界面代码(webform1.aspx)
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication10.WebForm1" %>
<!DOCTYPE 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>
<script src="js/jquery.js"></script><!--这里调用jquery包-->
</head>
<body>
<form id="form1" runat="server">
<div>
姓名:<input id="Text1" type="text" />
<br />
密码:<input id="Text2" type="text" />
<br />
<input id="Button1" type="button" value="提交" />
</div>
</form>
<script>
//按钮点击事件
$("#Button1").click(function () {
$.ajax({
type: "post",//类型(get/post)
url: "webform2.aspx",//跳转的地址
data: "name=" + $("#Text1").val() + "&pws=" + $("#Text2").val(),//数据
//无异常时调用的方法
success: function (msg) {
//msg返回的参数
//alert("ok:"+msg)
if (msg == "1") {
//如果返回的参数无异常,则跳转界面
location.href = "webform3.aspx";
} else {
//否则显示异常
alert("您输入的账户或密有误,请重新输入!!!");
}
},
//异常时调用的方法
error: function (msg) {
alert("登录失败!")
}
});
})
</script>
</body>
</html>
三.AJAX数据处理代码(webform2.aspx.cs)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication10
{
public partial class WebForm2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//如果密码和用户名正确,则返回对应的参数,并给Session赋值
if (Request["pws"].ToString() == "123" && Request["name"].ToString() == "admin")
{
Response.Write("1");
//如果一切正确,则赋值Session
Session["name"] = "admin";
}
//否则,返回错误的参数
else {
Response.Write("0");
}
}
}
}
四.登录成功界面代码(webform3.aspx.cs)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication10
{
public partial class WebForm3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//读取Session的数据,如果为Null或者数据不准确,则退回至登录界面
if (Session["name"] == null && Session["name"].ToString() != "admin") {
//服务器跳回登录界面
Response.Redirect("webform1.aspx");
}
//否则显示成功
else {
Response.Write("成功!");
}
}
}
}
五.流程
当我们输入正确的用户名和密码,并点击确定时:
页面会调用AJAX,从而将数据传输到webform2.aspx.cs里,经过一系列判断后,登录界面就会调用到success方法,并返回在webform2.aspx.cs里所返回的值,如果值正确,则跳转至登录成功的界面webform3.aspx.cs,否则返回至webform1.aspx.cs的用户登录界面