AjaxPro.NET框架实现服务端即时数据验证(Asp.net 2.0)(示例代码下载)

本文介绍了一个优秀的Ajax框架AjaxPro.NET的使用方法。通过简单的配置,即可实现在客户端直接调用服务端方法,进行数据验证等功能。

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

(一). 运行效果如下:

(二). AjaxPro.NET简介

         AjaxPro.NET是一个优秀的Ajax框架, 在实际应用中只要添加其DLL引用并进行简单的配置,

         即可以非常方便的在客户端直接调用服务端方法, 实现验证目的.

(三).使用AjaxPro.NET预配置

       1. 添加 AjaxPro.dll 文件的引用(示例代码中已经包含,直接COPY过来使用即可).

       2. 在Web.config文件中添加以下配置,           

1  < httpHandlers >
2               < add verb = " POST,GET "  path = " ajaxpro/*.ashx "  type = " AjaxPro.AjaxHandlerFactory, AjaxPro "   />             
3 httpHandlers>
 
 
       3. 在要使用AjaxPro.NET框架的页面 *.aspx.cs 的 Page_Load事件中加如下代码:
 
AjaxPro.Utility.RegisterTypeForAjax( typeof (_Default));
 
       4. 经过以上三步骤后, 只要在后台服务端的方法前面增加属性[AjaxMethod]后:
 
 1   [AjaxMethod()]     //  or [AjaxPro.AjaxMethod] 
 2  public  ArrayList GetSearchItems(  string  strQuery )
 3  {
 4        // 生成数据源
 5       ArrayList items  =   new  ArrayList();
 6       items.Add( " King " );
 7       items.Add( " Rose " );
 8        return  items ;
 9 
10 
 
        就可以在客户端直接使用服务端方法, 非常方便, 客户端调用后台代码如下:
var returnValue  =  后台代码类名.GetSearchItems(参数);
 
 (四). 详细代码如下
      1. 页面 AjaxPro.NETDataValidate.aspx 代码如下:
 1  < head runat = " server " >
 2       < title > AjaxPro.NET 数据验证 title>
 3     <script language="jscript">
 4         function IsUsernameExist_callback(result)
 5         {
 6             var msg = document.getElementById('lblMessage');
 7             var value = result.value;
 8             if( value == '0' )
 9             {
10                 msg.innerHTML = '用户名合法!';
11                 msg.style.color='green';                
12             }            
13             else if( value == '1' )
14             {
15                 msg.innerHTML = '用户名长度必须在 3 到 15 之间, 且不包含字母/数字/下划线以外的字符!';
16                 msg.style.color = 'red';
17             }
18             else
19             {
20                 msg.innerHTML = '用户名不存在!';
21                 msg.style.color = 'red';
22             }
23         }
24         
25         function VerifyUserName(name)
26         {
27             _Default.GetReturnCode(name, IsUsernameExist_callback);
28         }
29      script>
30  head>
31 <body>
32     <form id="form1" runat="server">
33     <div>
34         <asp:Panel ID="Panel1" runat="server" BackColor="#C0C0FF" Font-Bold="True" Font-Overline="False"
35             Font-Size="XX-Large" Height="37px" Width="459px">
36             AjaxPro.NET 数据验证 asp:Panel>
37         <br />
38         <hr align="left" style="width: 463px" />
39         <br />
40         输入用户名:&nbsp;
41         <asp:TextBox ID="tbUsername" runat="server"> asp:TextBox><br />
42         <br />
43         <asp:Label ID="lblMessage" runat="server" Width="246px"> asp:Label> div>
44      form>
45  body>
      2. 页面 AjaxPro.NETDataValidate.aspx.cs 后台代码如下:
 1  public  partial  class  _Default : System.Web.UI.Page 
 2  {
 3       protected   void  Page_Load( object  sender, EventArgs e)
 4      {
 5         AjaxPro.Utility.RegisterTypeForAjax( typeof (_Default));
 6         tbUsername.Attributes.Add( " OnKeyUp " " VerifyUserName(this.value) " ); 
 7      }
 8 
 9     [AjaxPro.AjaxMethod]
10      public   string  GetReturnCode( string  strName)
11     {
12         if  ( ! IsValidUsername(strName))
13        {
14            return   " 1 " ;
15        }
16         else   if  ( ! IsUsernameExist(strName))
17        {
18            return   " 2 " ;
19        }
20         else
21        {
22            return   " 0 " ;
23        }
24     }
25 
26      private   bool  IsUsernameExist( string  strUsername)
27     {
28         bool  bRet  =   false ;
29 
30         switch  (strUsername.ToUpper())
31        {
32            case   " KING " :
33            case   " ROSE " :
34              bRet  =   true ;
35               break ;
36        }
37 
38         return  bRet;
39     }
40 
41      private   bool  IsValidUsername( string  strUsername)
42     {
43         return  (Regex.IsMatch(strUsername,  @" ^(/w{3,15})$ " ));
44     }
45  }
(五). 示例代码下载
       
 


Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1106390


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值