一聚教程网:一个值得你收藏的教程网站

热门教程

asp.net ajax检查用户名是否存在代码

时间:2022-06-25 04:13:03 编辑:袖梨 来源:一聚教程网

asp教程.net ajax检查用户名是否存在代码

用户注册时,我们经常需要检查用户名是否存在,本文就是实现无刷新验证用户名

打开开发环境VS 2005,新建项目(或打开现有项目),新建一个Web窗体,命名为 Default.aspx

创建 XMLHttpRequest 对象
所有现代浏览器 (IE7+、Firefox、Chrome、Safari 以及 Opera) 都内建了 XMLHttpRequest 对象。

通过一行简单的 JavaScript 代码,我们就可以创建 XMLHttpRequest 对象。

创建 XMLHttpRequest 对象的语法:
xmlhttp=new XMLHttpRequest();老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象:
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");提示:在下一章,我们将使用 XMLHttpRequest 对象从服务器取回 XML 信息。


代码如下:

01.<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
02. 
03. 
04. 
05.    无标题页 
06.     
71. 
72. 
73.   
         
74.    用户名:   
75.   
 
76. 
77. 
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>



    无标题页
   


   
      
    用户名: 
   


然后新建一个一般处理程序,命名为 VerifyUserNameHandler.ashx

代码如下:

view plaincopy to clipboardprint?
01.<%@ WebHandler Language="C#" class="VerifyUserNameHandler" %>  
02.using System;  
03.using System.Web;  
04.using System.Collections;  
05.using System.Collections.Generic;  
06.public class VerifyUserNameHandler : IHttpHandler {  
07.     
08.    public void ProcessRequest (HttpContext context) {  
09.        //context.Response.ContentType = "text/plain";  
10.        string _name = context.Request.QueryString["para"];  
11.        _name = string.IsNullOrEmpty(_name) ? "" : _name;             
12.        System.Threading.Thread.Sleep(3000);//用线程来模拟数据库教程查询工作  
13.        string[] Names = new string[] { "Sandy", "阿非", "abc" };//这里用Names数组来代替数据库中的结果集  
14.        if (Array.IndexOf(Names, _name) == -1)  
15.        {  
16.            context.Response.Write("恭喜,用户名可以使用。");  
17.        }  
18.        else 
19.        {  
20.            context.Response.Write("抱歉,用户名已被使用。");  
21.        }  
22.    }  
23.   
24.    public bool IsReusable {  
25.        get {  
26.            return false;  
27.        }  
28.    }  
29.} 
<%@ WebHandler Language="C#" class="VerifyUserNameHandler" %>
using System;
using System.Web;
using System.Collections;
using System.Collections.Generic;
public class VerifyUserNameHandler : IHttpHandler {
  
    public void ProcessRequest (HttpContext context) {
        //context.Response.ContentType = "text/plain";
        string _name = context.Request.QueryString["para"];
        _name = string.IsNullOrEmpty(_name) ? "" : _name;          
        System.Threading.Thread.Sleep(3000);//用线程来模拟数据库查询工作
        string[] Names = new string[] { "Sandy", "阿非", "abc" };//这里用Names数组来代替数据库中的结果集
        if (Array.IndexOf(Names, _name) == -1)
        {
            context.Response.Write("恭喜,用户名可以使用。");
        }
        else
        {
            context.Response.Write("抱歉,用户名已被使用。");
        }
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }
}

到这里程序已经完成。

主要是利用了XMLHttpRequest对象采用异步的方式去访问服务器,获得响应后触发定义好的回调函数

本文是XMLHttpRequest对象异步方式对服务器发送Get方式的请求,访问服务器的文件为.ashx

热门栏目