`
linuxstuding
  • 浏览: 1231767 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

(一). 运行效果如下:

(二). 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输入用户名:&nbsp;
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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics