.net2003+ajax 表单用户名验证无刷新

本文介绍了一个使用ASP.NET和AJAX实现的简单用户名验证系统。该系统包括两个页面:Reg.aspx用于输入用户名并触发AJAX请求,CallServer.aspx用于处理服务器端逻辑。通过AJAX调用服务器端检查数据库中是否存在相同的用户名,并将结果返回给客户端显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1创建两张页面 Reg.aspx、CallServer.aspx。
在Reg.aspx页面的html中放 一个层和一个文本框
<div id="aa">
<asp:TextBox id="txtuser" runat="server" Width="136px"></asp:TextBox>
</div>
<span id="errInfo">请输入用户名</span>
在Reg.aspx页面中写javascript
定义二个变量 、三个函数

var xmlhttp=false;  //放 ActiveXObject的实例
var NewsInfo="";    //放 字符串

function GetXmlHttp()
{
  
if(window.ActiveXObject)
   
{
     
try
       
{
  xmlhttp
=new ActiveXObject("Msxml2.XMLHTTP.3.0");
       }

     
catch(e)
       

   
try
     
{
       xmlhttp
=new ActiveXObject("Microsoft.XMLHTTP");
     }

   
catch(e)
     
{
       NewsInfo
="服务器忙...";
     }

       }

   }

   
return xmlhttp;
}


function CallServer()
{
  GetXmlHttp();
  
var struser=document.getElementById("txtuser").value;
  
if(struser=="" || struser==null)return;
  
var url="CallServer.aspx?user="+escape(struser);
  xmlhttp.onreadystatechange
=CallBack;
  xmlhttp.open(
"post",url,true);
  xmlhttp.send();
}

function CallBack()
{
  
if(xmlhttp.readyState==1)
    
{
      NewsInfo
="Loading...";
    }

  
if(xmlhttp.readyState==4)
    
{
      
var msg=xmlhttp.reponseText;
      
var spanid=document.getElementById("errInfo");
      spanid.innerHTML
=msg;
    }

}



2在CallServer.aspx页面的page_load中写如下代码

SqlConnection conn=new SqlConnection("server=.;database=test;uid=aa;pwd=aa");
SqlCommand cmd
=new SqlCommand();

private void Page_Load(object sender, System.EventArgs e)
{   
  
if(!this.IsPostBack)
   
{
 
this.Bind();
   }

}


private void Bind()
{
 
string struser=Request.QueryString["userna"].ToString();
 
string strSql="select count(*) from tt where username='"+struser+"'";
 cmd.Connection
=conn;
 cmd.CommandText
=strSql;
 conn.Open();
 
int asd=int.Parse(cmd.ExecuteScalar().ToString());
 
if(asd>0)
 
{
  Response.Write(
"用户名重复,请重新选择.");
  Response.End();
 }

 
else
 
{
  Response.Write(
"用户名可以使用.");
  Response.End();
 }

}



3在Reg.aspx页面中找到层[id="aa"]在层中写onmouseout="callserver();"
<div id="aa" onmouseout="callserver();">
 <asp:TextBox id="txtuser" runat="server" Width="136px"></asp:TextBox>
</div>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值