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

来源:互联网 发布:设计数据库的软件dba 编辑:程序博客网 时间:2024/05/16 23:42

因为项目要实现添加用户的功能,所以想到要检测用户名是否存在。一开始想到放个按钮检测,感觉不太好。

因为后来到网上一搜发现大家爱都用ajax实现的。

因为我是一个小菜鸟,所以还不懂得ajax这项技术。。。伤心啊。。。

从网上看到很多资料但是我尝试了下没有搞出来。所以只好老老实实看看ajax到底怎么回事。

然后从http://q.sohu.com/forum/5/topic/1486059看到了《ajax从入门到精通》,仔细看完之后终于搞出来了。。。

不过参考了http://blog.csdn.net/justmuch/archive/2008/03/08/2158935.aspx的css样式。。呵呵

废话不扯了。把代码贴出来留做备忘。。。

首先check.js里面的代码

    //实例化 XMLHttpRquest对象
    var http_request=false;
    function createRequest()
    {
      
        try//IE
        {
            http_request=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e2)
            {
                http_request = false;
            }
        }
        if (!http_request && typeof XMLHttpRequest != 'undefined') //FireFox
        {
            http_request = new XMLHttpRequest();
        }
    }
    function callserver()
    {
        createRequest();
        var strText=document.getElementById("txt1").value;
        if(strText==""||strText==null)
            return ;
        var url="check_id.aspx?strtxt="+escape(strText);
        http_request.onreadystatechange=updatepage;
        http_request.open("GET",url,true);
        http_request.send(null);
    }
    function updatepage()
    {  
        var obj=document.getElementById("div1");
        if(http_request.readyState == 4)
        {
            if(http_request.status==200)
            {
                var response=http_request.responseText;
                if(response.indexOf("regok")!=-1)
                {
                    //验证通过
                    obj.className="Right";
                    obj.innerHTML='该会员名可以注册。';

                }
               else
               {
                    //验证未通过
                     obj.className="Error";
                     obj.innerHTML='该会员名已经被注册。';
               }
            }
        }
        else
        {   //异步传输失败
            obj.innerHTML='该会员未能检测,可以尝试注册。';
  
        }
    }

 

在Default.aspx页面HTML代码

<table>
                <tr>
                    <td>
                        <asp:Label ID="lbl" runat="server" Text="填写用户名" ForeColor="Red">
                        </asp:Label>
                    </td>
                    <td>
                        <asp:TextBox ID="txt1" onblur="callserver()" runat="server">
                        </asp:TextBox>
                    </td>
                    <td>
                        <div id="div1">
                        </div>
                    </td>
                </tr>
            </table>

放在此中的CSS

 <style type="text/css">
    .Error{ border:1px solid #A2553B;background-color:#FEF1E1;width:200px;float:left;height:18px;line-height:18px;margin-left:24px;color:#4F4F4F;text-indent:12px;}
    .Right{ border:1px solid #419041;background-color:#EDFCE7;width:2000px;float:left;height:18px;line-height:18px;margin-left:24px;color:#4F4F4F;text-indent:12px;}
    </style>

新建一个check.aspx记住只保留下面一句,其他的html语句全部删掉

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="check.aspx.cs" Inherits="check" %>

按F7进入后代页面

键入如下代码:

protected void Page_Load(object sender, EventArgs e)
    {
        string name = Request.QueryString["strtxt"].ToString();
        if (name == "123")
        {
            //只有123可以注册。。。
            Response.Write("regok");
        }
        else
        {
            Response.Write("error");  
        }
    }

这样就可以了。。。呵呵。。。

原创粉丝点击