利用ajax.dll实现异步调用一般用法:
1、 引用 ajax.dll 程序集
2、 在web.config文件中修改httpHandlers处理模式
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
</httpHandlers>
3、在.cs 处理文件中注册后台的Ajax.AjaxMethod类型
Ajax.Utility.RegisterTypeForAjax(typeof(DataBLL)); //DataBLL为AjaxMethod所在的类
4、在后台类中写Ajax.AjaxMethod方法
[Ajax.AjaxMethod]
public string [] GetArray()
{
string[] collection = new string[8];
for (int i = 0; i < 8; i++)
{
collection[i] = i.ToString() ;
}
return collection;
}
5、在前台写js文件异步调用AjaxMethod
function Load()
{
DataBLL.GetArray ( GetArrayAsyn );
}
function GetArrayAsyn( res)
{
if( res.value != null)
{
var result = res.value;
}
}
至此可以在前台异步获取后台产生的 Array
注意:a. 如果 AjaxMethod 方法带有参数, 调用如 DataBLL.GetArray ( paraA , para, GetArrayAsyn ) 的格式
b. ajax.dll 可返回 DataTable, Array 的数据,以前使用 ajaxpro.dll时返回DataTable时会出错
c.自定义的类型不能正常返回数据