服务器之家

服务器之家 > 正文

asp.net+Ajax校验用户是否存在的实现代码

时间:2019-09-30 15:42     来源/作者:asp.net教程网

需求:做一个ajax登录 

主要技术点:jquery ajax以及blur事件 

当用户名输入框失去焦点的时候就会触发blur事件,然后进行ajax请求,获得结果(true或者false),如果请求结果为true,就把用户名输入框图片替换成ok,并且输出文字:恭喜您, 这个帐号可以注册,否则就替换成图片no,并且输出文字:账号已存在 

源代码: 

前台: 

复制代码代码如下:


<%@ Page Language="C#" MasterPageFile="~/Top_Down.master" AutoEventWireup="true" CodeFile="RegisterMember.aspx.cs"Inherits="Member_RegisterMember" style="margin: 3px auto 0px; padding: 0px 3px; outline: none; background: rgb(242, 246, 251); width: 640px; clear: both; font-size: 14px; border-top: 1px solid rgb(0, 153, 204); border-right: 1px solid rgb(0, 153, 204); border-left: 1px solid rgb(0, 153, 204); line-height: 25.2px; font-family: tahoma, arial, "Microsoft YaHei";"> 复制代码代码如下:


<%@ WebHandler Language="C#" Class="GetMemberInfo" %> 
using System; 
using System.Web; 
using Common; 
using czcraft.Model; 
using czcraft.BLL; 
using System.Web.SessionState; 
public class GetMemberInfo : IHttpHandler,IRequiresSessionState 

// //记录日志 
private static readonly log4net.ILog logger =log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 
public void ProcessRequest(HttpContext context) 

String methodName = context.Request["method"]; 
if (!string.IsNullOrEmpty(methodName)) 
CallMethod(methodName, context); 

/// <summary> 
/// 根据业务需求调用不同的方法 
/// </summary> 
/// <param name="Method">方法</param> 
/// <param name="context">上下文</param> 
public void CallMethod(string Method, HttpContext context) 

switch (Method) 

case "CheckExistUserName": 
CheckExistUserName(context); 
break; 
//case "SearchMember": 
// SearchMember(context); 
// break; 
case "SaveMemberInfo": 
SaveMemberInfo(context); 
break; 
//case "RemoveMember": 
// RemoveMember(context); 
// break; 
//case "GetMember": 
// GetMember(context); 
// break; 
default: 
return; 


/// <summary> 
/// 验证帐号是否存在 
/// </summary> 
/// <param name="context"></param> 
public void CheckExistUserName(HttpContext context) 

string username = context.Request["username"]; 
if (Tools.IsValidInput(ref username, true)) 

context.Response.Write(new memberBLL().CheckExistUserName(username)); 


/// <summary> 
/// 保存用户信息 
/// </summary> 
/// <param name="context"></param> 
public void SaveMemberInfo(HttpContext context) 

try 

//表单读取 
string txtUserName = context.Request["txtUserName"]; 
string txtPwd = context.Request["txtPwd"]; 
string txtEmail = context.Request["txtEmail"]; 
string txtCheckCode = context.Request["txtCheckCode"]; 
//验证码校验 
if (!txtCheckCode.Equals(context.Session["checkcode"].ToString())) 

return; 

//字符串sql注入检测 
if (Tools.IsValidInput(ref txtUserName, true) && Tools.IsValidInput(ref txtPwd, true) && Tools.IsValidInput(ref txtEmail, true)) 

member info = new member(); 
info.username = txtUserName; 
info.password = txtPwd; 
info.Email = txtEmail; 
info.states = "0"; 
if (new memberBLL().AddNew(info) > 0) 

SMTP smtp = new SMTP(info.Email); 
string webpath = context.Request.Url.Scheme + "://" + context.Request.Url.Authority + "/Default.aspx"; 
smtp.Activation(webpath, info.username);//发送激活邮件 
JScript.AlertAndRedirect("注册用户成功!!", "../Default.aspx"); 

else { 
JScript.AlertAndRedirect("注册用户失败!", "../Default.aspx"); 



catch (Exception ex) 

logger.Error("错误!", ex); 


public bool IsReusable { 
get { 
return false; 


相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部