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

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

因为后来到网上一搜发现大家爱都用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" οnblur="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");   
        }
    }

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

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值