精巧的Ajax库AjaxEngine

 

项目地址:http://www.houfeng.net/page/AjaxEngine.aspx

 

2009年中,工作之余写了一个简单非常方便使用Ajax框架(应该还称不是框架)!并用一个小仓库管理项目
2009年末,确实是年末2009-12-29,写了一篇文章,介如年中所写的“框架”,文章地址:http://www.cnblogs.com/houfeng/archive/2009/12/29/1635350.html

 

2010年初,移植了一个java版本,并送于一个朋友,java版本之后我没维护,java版本被朋友用于了几个政府项目!具说现在他还在用着,但我已不知道“它”长成什么样了!
还是2010年,用于了当时参与的一个OA项目,及一个短信平台项目,此时AjaxEngine已添加很多功能:

  1. 可以让所有微软官方asp.net控件具备Ajax能力。
  2. 可以轻松在前端页面调用页面中服务端方法,并异步更新页面呈现。
  3. 可以在服务端轻松调用客户端脚本。

 

2011年,AjaxEngine被用于国内某大型证券企业OA的部分模块!

还是2011年,优化了性能,增加了快速编写JsonHandler相关功能!

 

2012年,正式开源!

为什么开源?

  1. 本来不是什么高深的东西,为什么如数家珍呢?不如分享!
  2. 因为AjaxEngine虽实现了相关功能,使用也非常简单方便!但也一直想着好好优化一下,但总不知是真没时间还是偷懒,以致于到现在AjaxEngine中还有09年我刚毕业时写的较为拙劣的代码!希望更多的人参于,优化AjaxEngine
  3. AjaxEngine的思路还是较为巧妙的!
  4. 希望让更多的coder快速完成ajax开发!
  5. 希望更多的人提出议见以改进AjaxEngine!

 

AjaxEngine的使用不用任何配置,使用步骤如下:

  1. 添加对AjaxEngine的引用
  2. 页面继承AjaxPageBase,或实现IAjaxPage 即可
  3. JsonHandler继承JsonHandlerBase即可
  4. 用AjaxMethod标记相关法!

 

页面使用Demo:

   1:  using System;
   2:  using AjaxEngines;
   3:   
   4:  namespace AjaxEngine.Demo
   5:  {
   6:      public partial class _Default : AjaxPageBase
   7:      {
   8:          protected void Page_Load(object sender, EventArgs e)
   9:          {
  10:          }
  11:   
  12:          protected void Button1_Click(object sender, EventArgs e)
  13:          {
  14:              this.AjaxEngine.ShowMessageBox("houfeng");
  15:          }
  16:   
  17:          /// <summary>
  18:          /// 参数和返回值都必须是string类型
  19:          /// </summary>
  20:          /// <param name="x"></param>
  21:          /// <param name="y"></param>
  22:          /// <returns></returns>
  23:          [AjaxMethod]
  24:          public string  Add(string x, string y)
  25:          {
  26:              return (x + y).ToString();
  27:          }
  28:      }
  29:  }

 

Handler使用Demo:

   1:  using AjaxEngines;
   2:  using AjaxEngines.JsonHandlers;
   3:   
   4:  namespace AjaxEngine.Demo
   5:  {
   6:      /// <summary>
   7:      /// Handler1 的摘要说明
   8:      /// </summary>
   9:      public class Handler1 : JsonHandlerBase
  10:      {
  11:          [AjaxMethod]
  12:          public int add(int x, int y)
  13:          {
  14:              return x + y;
  15:          }
  16:      }
  17:  }

 

   1:    $.getJSON("Handler1.ashx", { method: "add", x: 1, y: 2 }, function (dt) {
   2:                  alert(dt);
   3:              });

 

最后忠告:下载使用请遵守GPL协议

项目地址:http://www.houfeng.net/page/AjaxEngine.aspx

 

 

posted @ 2012-02-10 18:28  Houfeng  阅读(6243)  评论(19编辑  收藏  举报