(一). 运行效果如下:
(二). AjaxPro.NET简介
AjaxPro.NET是一个优秀的Ajax框架, 在实际应用中只要添加其DLL引用并进行简单的配置,
即可以非常方便的在客户端直接调用服务端方法, 实现验证目的.
(三).使用AjaxPro.NET预配置
1. 添加 AjaxPro.dll 文件的引用(示例代码中已经包含,直接COPY过来使用即可).
2. 在Web.config文件中添加以下配置,
1<httpHandlers>
2<addverb="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]
2publicArrayListGetSearchItems(stringstrQuery)
3{
4//生成数据源
5ArrayListitems=newArrayList();
6items.Add("King");
7items.Add("Rose");
8returnitems;
9}
10
就可以在客户端直接使用服务端方法, 非常方便, 客户端调用后台代码如下:
varreturnValue=后台代码类名.GetSearchItems(参数);
(四). 详细代码如下
1. 页面 AjaxPro.NETDataValidate.aspx 代码如下:
1<headrunat="server">
2<title>AjaxPro.NET数据验证</title>
3<scriptlanguage="jscript">
4functionIsUsernameExist_callback(result)
5{
6varmsg=document.getElementById('lblMessage');
7varvalue=result.value;
8if(value=='0')
9{
10msg.innerHTML='用户名合法!';
11msg.style.color='green';
12}
13elseif(value=='1')
14{
15msg.innerHTML='用户名长度必须在3到15之间,且不包含字母/数字/下划线以外的字符!';
16msg.style.color='red';
17}
18else
19{
20msg.innerHTML='用户名不存在!';
21msg.style.color='red';
22}
23}
24
25functionVerifyUserName(name)
26{
27_Default.GetReturnCode(name,IsUsernameExist_callback);
28}
29</script>
30</head>
31<body>
32<formid="form1"runat="server">
33<div>
34<asp:PanelID="Panel1"runat="server"BackColor="#C0C0FF"Font-Bold="True"Font-Overline="False"
35Font-Size="XX-Large"Height="37px"Width="459px">
36AjaxPro.NET数据验证</asp:Panel>
37<br/>
38<hralign="left"style="width:463px"/>
39<br/>
40输入用户名:
41<asp:TextBoxID="tbUsername"runat="server"></asp:TextBox><br/>
42<br/>
43<asp:LabelID="lblMessage"runat="server"Width="246px"></asp:Label></div>
44</form>
45</body>
2. 页面 AjaxPro.NETDataValidate.aspx.cs后台代码如下:
1publicpartialclass_Default:System.Web.UI.Page
2{
3protectedvoidPage_Load(objectsender,EventArgse)
4{
5AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
6tbUsername.Attributes.Add("OnKeyUp","VerifyUserName(this.value)");
7}
8
9[AjaxPro.AjaxMethod]
10publicstringGetReturnCode(stringstrName)
11{
12if(!IsValidUsername(strName))
13{
14return"1";
15}
16elseif(!IsUsernameExist(strName))
17{
18return"2";
19}
20else
21{
22return"0";
23}
24}
25
26privateboolIsUsernameExist(stringstrUsername)
27{
28boolbRet=false;
29
30switch(strUsername.ToUpper())
31{
32case"KING":
33case"ROSE":
34bRet=true;
35break;
36}
37
38returnbRet;
39}
40
41privateboolIsValidUsername(stringstrUsername)
42{
43return(Regex.IsMatch(strUsername,@"^(/w{3,15})$"));
44}
45}
(五). 示例代码下载
http://www.cnblogs.com/Files/ChengKing/AjaxPro.NET_DataValidate.rar
分享到:
相关推荐
AjaxPro.NET实现TextBox智能获取服务端数据功能
js 调用后台方法 function a1() { var s = _Default.GetServerTime().value; alert(s); } function a2() { var s = _Default.GetString("123").value; alert(s); } function a3() { ... </script>
此文档将使用AjaxPro.Net框架实现Ajax功能:在客户端异步调用服务端方法。AjaxPro.Net是一个优秀的.net环境下的Ajax框架,用法很简单,可以查阅相关资料,本文档是一个简单的实例讲述使用AjaxPro的几个关键点。 1、下载...
ASP.NET2.0+Ajax 的一个留言本
AjaxPro.NET实现TextBox智能获取源码! AjaxPro.NET实现TextBox智能获取源码
Ajax应用程序的优势. Ajax.net有AjaxPro.dll和Ajax.dll两个版本.
asp.net2.0 +ajaxpro 留言板 ajaxpro使用
AjaxPro.NET实现的简单高效的Tree
ASP.NET 无刷新用户验证(AjaxPro) ASP.NET 无刷新用户验证(AjaxPro) ASP.NET 无刷新用户验证(AjaxPro)
ASP.NET2.0+AjaxPro留言本
商业编程-源码-AjaxPro.NET实现的简单高效的Tree.zip
ASP.NET源码——[聊天留言]ASP.NET2.0+AjaxPro留言本.zip
ASP.NET源码——[聊天留言]asp.net2.0 + ajaxpro开发的精简留言本.zip
ASP.NET-[聊天留言]ASP.NET2.0+AjaxPro留言本.zip
asp.net2.0:扩展ImageButton控件定制自己需要的功能 ASP.NET 2.0 正式版中无刷新页面的开发(示例代码的补充) ASP.NET2.0中themes、Skins轻松实现网站换肤! ASP.NET 2.0 中的代码隐藏和编译 ASP.NET 2.0 Language ...