温故之AjaxPro 系列一(入门)
AjaxPro是asp.nt体系下的一个异步请求处理框架。不过,我以前做的时候没有用Ajaxpro,主要是用JQuery.不过由于突然而来的项目,需要温故一下。
在使用Ajaxpro之前,先来做代码撰写前的准备工作;第一步的工作是引用Ajax.dll. 第二步的工作是在Web.ConFig里配置Httphandler,配置内容如下:
<configuration> <system.web> <httpHandlers> <add verb="POST,GET" path="ajax/*.ashx" </httpHandlers> ... <system.web> </configuration> |
准备工作做好之后,我们可以做例子学习Ajaxpro.接下来,我会做一个简单的例子来体验一下AjaxPro的简便性。
Example 1:输出“Hello AjaxPro!"
新建了一个页面之后,我们第一步工作是在 Page_Load事件添加一下代码:Ajax.Utility.RegisterTypeForAjax(typeof(_Default));大家看到这句代码可能不明白_Defaule是指那个对象。其实_Default是页面对象。此时或许有人会问,我加了这句有什么用?在程序调用了Ajax.Utility.RegisterTypeForAjax之后,在页面生成的HTML代
码中会增加以下代码:
<script language="javascript" src="ajax/common.ashx"></script> <script language="javascript" |
NameSpace.pageClass是根据.aspx文件中的<%@ Page %>中的Inherits部分决定的.AssemblyName是当前页面的assembly 决定的.现在我们可以创建服务器端代码了. -
Default.aspx:
2
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5 <html xmlns="http://www.w3.org/1999/xhtml" >
6 <head runat="server">
7 <title>无标题页</title>
8 <script type="text/javascript" >
9 function GetHello()
10 {
11 var Ret = _Default.Hello();
12 alert(Ret.value);
13 }
14 </script>
15 </head>
16 <body>
17 <form id="form1" runat="server">
18 <input id="Hl_Bth1" type="button" value="Hello" onclick="GetHello();"/>
19
20 </form>
21
22 </body>
23 </html>
Default.aspx.cs
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Ajax;
namespace AjaxProDemo
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(_Default));
}
[Ajax.AjaxMethod]
public string Hello()
{
return "Hello AjaxPro!";
}
}
}
运行后的结果:
点击按钮后,运行结果是弹出一个提示框”Hello AjaxPro!”