【工作总结】AjaxPro7步骤

//环境vs2003,Ajaxpro.dll
//exmple:有个页面Register.aspx(Register.aspx.cs)要实现无刷新提醒用户所注册帐号是否可用

//过程:访问Register.aspx -->输入用户名 -->用户名文本框失去焦点 -->触发客户端脚本checksername()
  -->通过checksername()调用Register.aspx.cs的[AjaxNamespace("Register")].[AjaxMethod(HttpSessionStateRequirement.ReadWrite)]  -->返回returnVal值给checkUsername()判断 -->用户名已经存在                                  

1。添加引用Ajaxpro.dll

2。配置web.config,在<system.web></system.web>节里添加子节如下:
 <!-- 应用AJAX -->
 <httpHandlers>
  <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro" />
 </httpHandlers>

3。在Register.aspx.cs代码文件里
   在页面类前(public class Register: Page)为Ajax客户端方法注册命名空间,可以用当前页面类名,[AjaxNamespace("Register")]


4。在Page_Load里注册AjaxPro.Utility.RegisterTypeForAjax(typeof(Register));

5。编写客户端方法checksername()将调用的服务段方法
[AjaxMethod(HttpSessionStateRequirement.ReadWrite)]
  public string userNameISExits(string username)
  {
           ...

   if (user name is exits)
   {
    return "1";
   }
   else
   {
    return "0";
   }
  }


6。在Register.aspx html源里编写脚本
<script>
 function checkUsername()
 {
 var username=$("tb_username").value;
 var returnValue;
 
 //returnValue   = [AjaxNamespace("Register")].[AjaxMethod(HttpSessionStateRequirement.ReadWrite)]
    
 returnValue     =  Register.userNameISExits(username).value;
 if (returnValue=="1")
  {
   存在;  
  }     
 }        
</script>


7。当用户名文本框失去焦点时触发客户端脚本
<input type="text" id="username" onblur="checkUsername()"/>

 


 

posted @ 2006-11-09 15:19 止戈 阅读(670) 评论(0) 编辑 收藏