.net平台的ajax试炼,校验用户名

本文介绍了一个用于验证用户名是否已被注册的WebService实现方式。通过创建名为verify.asmx的服务,并定义CheckSignupUserid方法,可在用户输入用户名时即时反馈是否可用。文章还提供了如何在ASP.NET页面上集成此服务的方法。

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

为了尽量减少传输的数据,创建一个webservice,我叫:verify.asmx,  添加一个WebMethod:

  [WebMethod]
  public string CheckSignupUserid( string strUserId )
  {

       .....

      //如果用户名有效,返回空串

     //否则返回建议或者指示文字

   String strResult = String.Empty;
   if ( objReader.HasRows )
   {
         strResult="对不起,用户名 《<font color='red' style='font-weight:bold'>"+strUserId+"</font>》 已经被人注册了!<br>请选择其他的用户名,推荐:《"+strUserId+"2006》";
   }

   return strResult;

}

 

另外,使用microsoft的webservice组件调用webservice,  下载地址请自己查:webservice.htc

在aspx文件中创建一个div

<div id="service" style="BEHAVIOR: url(/ccmall/Service/webservice.htc)" onresult="onVerifyResult()"></div>

当然,aspx中输入用户名的地方也要有啊 :

 <input style="FONT-SIZE: 12px; WIDTH: 180px" type="text" name="user_id" size="20" class=SmallTextBox onblur="checkUserId()" onfocus="onFocusCommon(this)"> <font color=#666666>2-10个字符,可以是字母、数字或中文</font>
      <div id="dvVerifyUser" style="DISPLAY:none; BACKGROUND-COLOR:#ff9900"></div>

创建一段js代码:

<script language="javascript">

 var iVerifyUserCall=0;

 function init() {
  service.useService("./Service/Verify.asmx?WSDL", "VerifyService");
 }
 function onVerifyResult() {
     if ( (!event.result.error)&&(iVerifyUserCall==event.result.id) ) {
   err_id = 0;
   if ( event.result.value != "" ) {
    document.getElementById("user_id").style.background = "#ff0000";
    document.getElementById("dvVerifyUser").innerHTML = event.result.value;
    document.getElementById("dvVerifyUser").style.display = "";
   }
  
  } else {
   //alert("something else fired the event!");
   alert("这个站点出了一些 小毛病, 嘻嘻,不过你可以不管它!have fun!");
   
  }

 } 

 function checkUserId() {
  iVerifyUserCall = service.VerifyService.callService("CheckSignupUserid", document.getElementById("user_id").value);
 }

这样一来, 就可以在输入用户名后,后台自动判断该用户名是否有效, 从而不需要用按钮提交后再告诉用户出错信息!

 

ps: 本文的实现用在本人的一个项目实现,其中代码参考了网络资源, 参考的时候并没有想着写到这里,是因为现在无法删除blog,我才在这里编辑了原来的文本,所以,无法把原来参考的资源的url给出,请原谅!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值