AjaxPro让.NET的AjaxPro变得简单

80酷酷网    80kuku.com

  

这段时间要用到Ajax,不过,完全靠自己来写嫌太烦,不愿做些麻烦事。

碰巧看到了ajaxpro,尝试了一下,觉得很简单,很实用,兼容性也很好。

AjaxPro的官网是http://ajaxpro.info,你可以下载到最新的AjaxPro组件。

在下载的的文件中,有VS2005的模板,安装了VS2005模板,就可以在VS2005中直接建立AjaxProWebSite了,在建立的AjaxProWebSite中,有一个默认的Demo,其实通过它,就能够完全了解AjaxPro的用法。

如果你用的是.NET2.0,且不用VS2005的话。你只需要把AjaxPro.2.dll放入应用程序的bin文件夹中,而且也只需要如下几步:

1、修改web.config

在system.web节点下添加

以下为引用的内容:

<system.web>
    <httpHandlers>
      <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
    </httpHandlers>

2、将你的.NET方法添加AjaxMethod属性

以下为引用的内容:

[AjaxPro.AjaxMethod]
public DateTime GetServerTime()
{
  return DateTime.Now;
}

3、在.NET方法中向客户端注册javascript,用以javascript使用
以下为引用的内容:

namespace MyDemo
{
  public class _Default
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
    }

    [AjaxPro.AjaxMethod]
    public DateTime GetServerTime()
    {
      return DateTime.Now;
    }
  }
}

4、在客户端用javascript调用服务器端的方法,语法也很简单
以下为引用的内容:

function getServerTime()
{
  MyDemo._Default.GetServerTime(getServerTime_callback);  // asynchronous call
}

// This method will be called after the method has been executed
// and the result has been sent to the client.

function getServerTime_callback(res)
{
  alert(res.value);
}

就这样,简单的几步,就已经完成了。在客户端用javascript异步调用服务器端的C#方法,并可以得到服务器端的返回值,这个值会传到javascript,javascript可以处理这个返回的值,这个示例是官方给出的示例,服务器端返回的是一个DateTime,不过,我们也可以返回复杂的数据类型,像DataTable之类,总之,AjaxPro把Ajax搞得很简单。

不过,还有一点我没完全弄清楚,就是AjaxPro.OnLoading,它可以在服务器未发送回值的时候向客户显示的loading一类的东西;我在使用过程中,有时会出现AjaxPro没有定义的情况。关于这一点,也在google groups上看到相关解答,不过自己还是没有完全搞清楚。

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: