asp.net无刷新验证用户名是否已经存在

第一步:在登陆页的<head>中输入如下代码(也可以单独新建一个js文件链接到登陆页)

<script language="javascript" type="text/javascript">
        var xmlHttp = false;
        try {
           xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
           try {
             xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
           } catch (e2) {
             xmlHttp = false;
           }
        }
        if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
           xmlHttp = new XMLHttpRequest();
        }
       
        function callServer() {
           var u_name = document.getElementById("txtUserName").value;
           if ((u_name == null) || (u_name == "")) return;
           var url = "CheckUser.aspx?name=" + escape(u_name);
           xmlHttp.open("GET", url, true);
           xmlHttp.onreadystatechange = updatePage;
           xmlHttp.send(null); 
        }
       
        function updatePage() {
           if (xmlHttp.readyState < 4) {
               labelCheckMessage.innerHTML="loading...";
           }
           if (xmlHttp.readyState == 4) {
               var response = xmlHttp.responseText;
               labelCheckMessage.innerHTML=response;
           }
        //   if (test1.innerHTML=="已被注册"){
        // document.form1.submit.disabled=true}else{
        // document.form1.submit.disabled=false
        //   }
        }
    </script>

 

第二步:登陆页的前台代码如下:

   <form id="frmlogin" runat="server">
        <div id="divLogin">
            <span id="labelUserName" class="fontLabel">用户名:</span><span id="labelPassword" class="fontLabel">密码:</span>

            <span id="labelCheckMessage" class="fontMessage"></span>
            <asp:TextBox ID="txtUsername" runat="server" CssClass="textboxUsername"></asp:TextBox>
            <asp:TextBox ID="txtPassword" runat="server" CssClass="textboxPassword" TextMode="Password"></asp:TextBox>
        </div>
    </form>

 

第三步:登陆页后台代码如下:

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Me.txtUsername.Attributes("onblur") = "javascript:callServer();"
    End Sub

 

第四步:另外新建一个aspx页面CheckUser.aspx,在其前台代码中只保留如下一行(特别要注意,否则例子不会成功)

<%@ Page Language="VB" AutoEventWireup="true" CodeFile="CheckUser.aspx.vb" Inherits="CheckUser" %>

 

第五步:在CheckUser.aspx的后台代码中输入

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim strName As String = Request.QueryString("name").ToString()
        Dim strSql As String = "select sid from t1 where uname='" + strName + "'"
        Dim strConnection As String = "Data Source=(local);Initial Catalog=test;Persist Security Info=True;User ID=sa;Password=test;"

        Dim cmdUser As New SqlCommand(strSql, New SqlConnection(strConnection))
        Dim drUser As SqlDataReader
        cmdUser.Connection.Open()
        drUser = cmdUser.ExecuteReader

        If drUser.Read() Then
            '当输入的用户名已注册时不返回任何信息
            Response.Write("")
        Else
            '当输入的用户名未注册时返回未注册信息
            Response.Write("UserName don't exists")
        End If

        drUser.Close()

End Sub

 

全部结束,可以运行登陆页面测试了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值