您的位置:首页 > 其它

用ajax.dll来做一个异步数据的交互例子大家分享

2007-05-25 10:25 447 查看
€这个dll比较强,我一直都用这个也比较好用,但是初学的时候还是得一步一步来:
1:在配置文件里面添加一个接点:
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
</httpHandlers>

2:在要使用的页面加一句: Ajax.Utility.RegisterTypeForAjax(typeof(类名));

3:在要在javascript函数里面要调用的服务器端方法上加一个:[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]标记

大体就这样的。下面我们来做一个简单的用户注册吧:
先要考虑的是:第一要验证客户输入的信息是否符合我们定义的标准;第二:要异步考虑这个客户输入的名字是否已经被别人使用了,不要在客户提交注册信息的时候再去验证,这样就很浪费了;第三:我们所有的数据添加,修改,查询都可以用这个dll来做的,全部是无刷新的,但是要考虑开发效率哦!

1 <table border="0" cellpadding="0" cellspacing="0" style="width: 557px">
2 <tr>
3 <td style="width: 462px; text-align: right; height: 12px;">
4 <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtUserName"
5 ErrorMessage="*请输入" Width="110px"></asp:RequiredFieldValidator>用户名:</td>
6 <td colspan="2" style="height: 12px; text-align: left">
7 <asp:TextBox ID="txtUserName" runat="server" onchange="OncheckInfo('txtUserName')" Width="213px"></asp:TextBox>
8 </td>
9 </tr>
10 <tr>
11 <td style="width: 462px; text-align: right">
12 <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtPwd"
13 ErrorMessage="*请输入" Width="88px"></asp:RequiredFieldValidator>密码:</td>
14 <td colspan="2" style="text-align: left">
15 <asp:TextBox ID="txtPwd" runat="server" TextMode="Password" onKeyUp=pwStrength() onBlur=pwStrength()
16 Width="213px"></asp:TextBox>
17 </td>
18 </tr>
19 <tr>
20 <td style="width: 462px; height: 24px; text-align: right">
21 <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="txtPwd"
22 ControlToValidate="txtPwdd" Display="Dynamic" ErrorMessage="两次出入不一致" Width="136px"></asp:CompareValidator>确认密码:</td>
23 <td colspan="2" style="height: 24px; text-align: left">
24 <asp:TextBox ID="txtPwdd" runat="server" TextMode="Password" Width="213px"></asp:TextBox> 
25 </td>
26 </tr>
27 <tr>
28 <td style="width: 462px; height: 24px; text-align: right">
29 密码安全级别: </td>
30 <td colspan="2" style="height: 24px; text-align: left">
31 <table border="0" bordercolor="#cccccc" cellpadding="1" cellspacing="0" height="23"
32 style="display: inline; width: 213px">
33 <tr align="center" bgcolor="#eeeeee">
34 <td id="strength_L" width="33%">
35 弱</td>
36 <td id="strength_M" width="33%">
37 中</td>
38 <td id="strength_H" width="33%">
39 强</td>
40 </tr>
41 </table>
42 </td>
43 </tr>
44 <tr>
45 <td style="width: 462px; text-align: right">
46 <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtEmail"
47 ErrorMessage="请输入正确格式" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Width="120px"></asp:RegularExpressionValidator>常用邮件:</td>
48 <td colspan="2" style="text-align: left">
49 <asp:TextBox ID="txtEmail" runat="server" Width="213px" onchange="OncheckInfo('txtEmail')" Height="19px"></asp:TextBox></td>
50 </tr>
51 <tr>
52 <td style="width: 462px; text-align: right">
53 注册类型:</td>
54 <td style="width: 60px; text-align: left">
55 <asp:DropDownList ID="ddlType" runat="server">
56 <asp:ListItem Value="1">公司</asp:ListItem>
57 <asp:ListItem Value="0">个人</asp:ListItem>
58 </asp:DropDownList></td>
59 <td style="width: 91px; text-align: left">
60 </td>
61 <td style="width: 291px">
62 </td>
63 </tr>
64 <tr>
65 <td style="width: 462px">
66 <input id="btReg" type="button" value="客户端方法注册" language="javascript" onclick="return btReg_onclick()" /></td>
67 <td style="width: 60px; text-align: left">
68 <asp:Button ID="btnOK" runat="server" OnClick="btnOK_Click" Text="服务器方法注册" />
69 </td>
70 <td style="width: 91px; text-align: left">
71 <asp:Button
72 ID="btnCancel" runat="server" OnClick="Button2_Click" Text="取消" /></td>
73 <td style="width: 291px">
74 </td>
75 </tr>
76 <tr>
77 <td colspan="4" style="text-align: center">
78 <asp:Label ID="lblUserName" runat="server" ForeColor="Blue" Width="518px"></asp:Label>
79 <asp:Label ID="lblMessage" runat="server" Width="520px" ForeColor="Red"></asp:Label></td>
80 </tr>
81 </table>

上面是页面的设计,下面是javascritp的数据验证和提交:

1<script language="javascript">
2   function ShowOrHiddenPanel()
3 function OncheckInfo(T)
8 //用客户端方法来添加注册信息
22 //完成注册信息的第二步 </script>

1<script language="javascript">
2
13 //bitTotal函数
14 //计算出当前密码当中一共有多少种模式
15
24 //checkStrong函数
25 //返回密码的强度级别
26
27
40 //pwStrength函数
41 //当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色
42
43</script>

1 [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
7 public string DateCheckInTable(string str)
8 [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
24 public string DateCheckInTableForEmail(string str)
25 [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
44 public string RegisterInfo(string name, string pwd, string email, string type)
45 try
47 UserLogin ul = new UserLogin();
49 ul.U_Name = name;
50 ul.U_Pwd = pwd;
51 ul.U_Email = email;
52 ul.U_Type = int.Parse(type);
53
54 if (UserInfoBiz.RegInfoInsert(ul))
55 return ul.U_Name + "恭喜您!注册成功!";
57 }
58 else
59 return "对不起,注册失败,请重试!";
60 }
61 catch (Exception ex)
62 return "对不起,注册失败,请重试!";
64 }
65 }
别忘了我前面还说过这句哦:
protected void Page_Load(object sender, EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(RegisterFirst));
txtBirth.Attributes["onclick"] = "javascript:calendar()";
}

这样就一切搞定了,有什么问题,可以和我联系一起讨论。TKS!!~~

下载地址:

http://files.cnblogs.com/teracy/070411ajax---Userd_AjaxDll.rar
不晓得能不能下载,我暂时试不了,大家试试看
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: