以前在使用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