温故之AjaxPro 系列一(入门)

      AjaxPro是asp.nt体系下的一个异步请求处理框架。不过,我以前做的时候没有用Ajaxpro,主要是用JQuery.不过由于突然而来的项目,需要温故一下。

      在使用Ajaxpro之前,先来做代码撰写前的准备工作;第一步的工作是引用Ajax.dll.  第二步的工作是在Web.ConFig里配置Httphandler,配置内容如下:

 

<configuration>

 <system.web>

    <httpHandlers>

      <add verb="POST,GET" path="ajax/*.ashx"
          
type="Ajax.PageHandlerFactory, Ajax" />

    </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"
          
src="ajax/NAMESPACE.PAGECLASS,ASSEMBLYNAME.ashx"></script>

 NameSpace.pageClass是根据.aspx文件中的<%@ Page %>中的Inherits部分决定的.AssemblyName是当前页面的assembly 决定的.现在我们可以创建服务器端代码了. -

 Default.aspx:

 

代码
 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AjaxProDemo._Default" %>
 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;
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!”

 

 

posted @ 2010-02-27 11:13  路途遥远  阅读(359)  评论(0编辑  收藏  举报