您的位置:首页 > 编程语言 > ASP

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

2008-04-17 15:22 495 查看
因为项目要实现添加用户的功能,所以想到要检测用户名是否存在。一开始想到放个按钮检测,感觉不太好。

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

这样就可以了。。。呵呵。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: