CH2.AJAX —— 让你的 AJAX 实现得更优雅

时间:2014-03-26 18:18:56
【文件属性】:
文件名称:CH2.AJAX —— 让你的 AJAX 实现得更优雅
文件大小:265KB
文件格式:RAR
更新时间:2014-03-26 18:18:56
Ajax Jsonp Base64 DES CH2.Ajax 框架 支持简单加密(Base64)和跨域(Jsonp) 如何以最快捷/简约的方式直接调用服务器方法? 场景: 比如,服务器已有如下方法: namespace CH2 { class BLL{ User Login(string name,string password){ //balabala... } } } 如何以最优雅的方式(写最精简的 js )调用以上方法?也许你只需要写五行 js 代码: CH2.BLL.Login( {name: "caihaihua", password: "123456"} ,function(user){ alert('登录成功!'); } ,function(errormessage){ alert('登录失败!' + errormessage);} ); 步骤: 1.网站引用两个dll:CH2.Ajax.dll 和 Newtonsoft.Json.dll 2.把服务器方法添加属性 AjaxMethod。(例一) 3.添加一个一般处理程序,继承于 AjaxHandler (T 为服务器方法的类名) 。(例二) 4.页面中引用两个js。(例三) 5.准备工作完成了。ajax 调用服务器方法,只需要在 js 中直接写: [namespace].[classname].[methodname](arguments,onsuccess,onfailed) 其中, arguments 为参数集合 onsuccess 为调用成功的回调函数 function(returndata) onfailed 为调用失败的回调函数(可选) function(errormessage) (例四) 例一: namespace CH2 { class BLL{ [AjaxMethod] // ←原有方法中添加这一属性 // 可设定加密方式和描述信息。如下: // [AjaxMethod(Encode = EncryptType.Base64, Description = "反序列化User")] User Login(string name,string password){ } } } 例二: <%@ WebHandler Language="C#" Class="Handler" %> using CH2; public class Handler : AjaxHandler // ←一般处理程序继承于AjaxHandler // 如果是多个类的方法合并,最多支持 10 个类。如下: // AjaxHandler { //此处不需要任何代码 } 例三: // 配套的 js // 第 3 步中的一般处理程序(注意 url 中不带任何传参) 例四:
【文件预览】:
CH2.Ajax
----bin()
--------Debug()
----Lib()
--------EncryptHelper.cs(4KB)
--------JsonHelper.cs(4KB)
--------Base64Helper.cs(1KB)
--------DESHelper.cs(23KB)
----CH2.Ajax.csproj.user(168B)
----obj()
--------Debug()
----AjaxHandler.cs(6KB)
----Model()
--------ReturnStatus.cs(850B)
--------AjaxMethodAttribute.cs(648B)
----Resource()
--------Core.js(48KB)
----ScriptBuilder.cs(4KB)
----Enum()
--------State.cs(2KB)
--------EncryptType.cs(587B)
----EventProccessor.cs(5KB)
----说明..txt(3KB)
----Properties()
--------AssemblyInfo.cs(1KB)
----CH2.Ajax.csproj(3KB)
CH2.Ajax.Demo
----Default.aspx(4KB)
----Default2.aspx.cs(424B)
----Web.config(8KB)
----App_Code()
--------DAL()
--------Test.cs(4KB)
--------IOCTest.cs(513B)
--------Model()
--------BLL()
--------Test2.cs(624B)
--------Interface()
--------JsonHelper.cs(4KB)
--------Enum()
--------DB()
----Ajax()
--------Handler2.ashx(197B)
--------Core.js(48KB)
--------Handler.ashx(165B)
----jonpDemo.htm(2KB)
----Bin()
--------CH2.Ajax.dll(76KB)
--------Newtonsoft.Json.dll(124KB)
--------CH2.Ajax.pdb(54KB)
----Default2.aspx(1KB)
----Default.aspx.cs(423B)

网友评论

  • 很不错,有很多可以借鉴的地方。