位置:海鸟网 > IT > ASP.NET >

ASP.NET中基于Ajax的AjaxHandler

以前在使用Jquery的的时候,总是要新建一个ashx或者aspx来处理程序,当大量使用ajax的时候,发现建了一大堆的处理页面,刚觉很是不爽

后来我想,用反射的方式直接去掉cs里的方法不是很好,很爽,这就是初衷。

1,先写个处理程序

public Request.Params.AllKeys)
{
new)
{
null;
);
}
类型赋值
Convert.ChangeType(Request.Params[likey[i]], tType);
}
else))
{
methodInfo.Invoke(objType, obj);
null)
throw

3,返回值处理,类会直接被序列化成json格式

)))
{
(XmlDocument)))
{
;
Response.Write(((XmlDocument)returnValue).OuterXml);
}
else(DataTable)))
{
);
}
, (DataTable)returnValue));
}
else
{
);
}

{
);
}

4,为了防止跨权限调用了其他的方法加了个自定义属性

publicclass AjaxMethod : Attribute
{
publicoverridestring ToString()
{
return

5,webconfig配置


6,jquery调用

,
data: {

7,url格式

METHAD:命名空间.类名.方法名
DLL:DLL名称

8,ajax参数

data: {
,
前缀,后面是参数类型,前缀是为了处理get方式

9,下载源代码

AjaxHendler.rar