日期:2014-05-16  浏览次数:20697 次

ajaxpro使用总结
本帖最后由 showbo 于 2012-09-08 11:14:51 编辑
已经上传示例代码,点击下面的链接进行下载
ajaxpro示例代码下载.rar

还有ajaxPro7.7.31.1版本的bug问题
ajaxPro7.7.31.1出现this.onTimeout is not a function 的Bug解决方案
ajaxPro7.7.31.1返回DataTable,DateSet出错


  准备到新年了~~好久没总结下ajax方面的知识了,最近用了下ajaxpro,发现也不错。网上也没有特别详细的说明,自己就使用ajaxpro总结了下,希望对新使用ajaxpro的同学有帮助。

  就自己的使用的经验总结的,有不对的地方大家多指教,O(∩_∩)O~

  今天忽然想用ajaxpro框架,于是研究了一下ajapro框架的用法。总结如下
  一、配置和使用说明看下面这篇文章
  AjaxPro使用说明文档
  备注:需要注意的是,即使配置正确的,aspx页面一定需要存在一个runat="server"的表单,要不然ajaxpro不会自动生成对应的脚本和导入相关的框架代码

  二,ajaxpro同步异步执行及如何使用返回值的总结
 如果定义了一个方法,如下

   [AjaxPro.AjaxMethod]
    public int add(int a,int b......其他参数)
    {
        return a + b;
    }
  在调用方法的时候,参数循序和你定义的方法一致,紧接在参数后面的是回调函数

  如:注册的类名称.add(方法参数a,方法参数b....其他参数,[回调函数,[context参数]])。传递了回调函数,则使用异步的方法执行,否则就是同步的。
为同步时,调用方法后,方法的返回值为ajaxpro包装好的json对象。
为异步时,回调函数有一个参数,为ajaxpro包装好的json对象,有error,value,request,context4个属性。


  4个属性按照我的理解如下
error:如果发生错误,这个属性为json对象,有message和type属性。如果无错误发生,则为null
value:方法返回的值,具体参考返回值下面的。如果发生错误,value为null
request:原始的XMLHttpRequest对象
context:对异步有效,同步时为undefined。为异步时,存储的是回调函数后面传递的参数,如果未在回调函数后面继续添加参数,则为null。注意context只存储紧接在回调函数后面的那个参数,其他的继续传递的参数会被忽略。所以要传递多个参数时,可以在回调函数后面传递一个json对象,这样context就是这个json对象了


备注:经测试,最好不要出现重载版本的方法,要不会调用到不同版本的方法或者即使传递了回调函数也很会变为同步的。

  因为转为JS对应的方法后,JS没有强类型定义,所以不好根据类型区分调用哪个方法。这个也可能是ajaxpro的不足之处吧。

具体参考下面的:ajaxpro ajaxmethod 重载调用问题
 

ajaxmethod调用示例参考:ajaxpro方法ajaxmethod调用示例
 

三、ajaxpro返回值类型总结

  ajaxpro支持普通类型,如string,int等,class或者struct对象没试过,不知道能用没有,不过应该也很少使用到这种类型,就不总结了。最重要的类型就是DataTable和DataSet对象。

  如何获取返回值及参数循序,参考上面的ajaxpro同步异步执行及如何使用返回值的总结。

具体类型参考下面的,都以异步发送请求。
ajaxpro返回值类型总结-string,int
ajaxpro返回值类型总结-DataTable
ajaxpro返回值类型总结-DataSet 

ajaxpro综合示例-ajaxpro无刷新更新gridview数据
------解决方案--------------------
好像是.net的东西吧
我感觉如果非要跟着微软走 完全可以用asp.net ajax

------解决方案--------------------
好     资料   顶起
------解决方案--------------------
用法还挺简单的哈 曾经用过 不过自己习惯用jquery 
------解决方案--------------------

好东西顶起
------解决方案--------------------
引用:
用法还挺简单的哈 曾经用过 不过自己习惯用jquery


我还没习惯呢?给我点习惯撒。我也想习惯。到底怎么能习惯呢。我做的不多。最近只是理论的看了下。
------解决方案--------------------
好东西, 最近正在学习AJAX
------解决方案--------------------
謝謝分享,正在看這玩藝...呵呵
------解决方案--------------------

------解决方案--------------------
还是习惯JQuery
------解决方案--------------------
微软现在ajax主推是jquery的啊
------解决方案--------------------