一般处理程序的调用
2018-01-09 22:22
176 查看
在一般处理程序定义多个方法,通过ajax调用指定的方法
优化方案
一般处理程序Base
public class HandlerBase : IHttpHandler
{
protected HttpContext Context { get; set; }
protected HttpRequest Request { get; set; }
protected HttpResponse Response { get; set; }
public virtual void ProcessRequest(HttpContext context)
{
Context = context;
Request = context.Request;
Response = context.Response;
//获取要调用的方法
string action = context.Request["action"].ToString();
System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(action);
if (methodInfo != null)
{
//在这里调用请求的action
//methodInfo.Invoke(this, new object[] { context });
methodInfo.Invoke(this, new object[] { });
}
}
public bool IsReusable
{
get
{
return false;
}
}
}一般处理程序Handler1.ashx
public class Handler1 : HandlerBase
{
public void GetList()
{
var name = Request.Form["name"];
Response.Write("returns jsonData");
}
}客户端
<script type="text/javascript">
$.ajax({
url: "Handler1.ashx",
type: "Post",
data: "action=GetList&name=lily",//请求Handler1.ashx下面的GetList方法
success: function (data) {
alert(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) { alert(textStatus); }
});
</script>
public class Handler1 : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; //获取要调用的方法 string action = context.Request["action"].ToString(); System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(action); if (methodInfo != null) { //在这里调用请求的action methodInfo.Invoke(this, new object[] { context }); } } public void GetList(HttpContext context) { context.Response.Write("returns jsonData"); } public bool IsReusable { get { return false; } } }Js
<script type="text/javascript"> $.ajax({ url: "Handler1.ashx", type: "Post", data: "action=GetList",//请求Handler1.ashx下面的GetList方法 success: function (data) { alert(data); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(textStatus); } }); </script>
优化方案
一般处理程序Base
public class HandlerBase : IHttpHandler
{
protected HttpContext Context { get; set; }
protected HttpRequest Request { get; set; }
protected HttpResponse Response { get; set; }
public virtual void ProcessRequest(HttpContext context)
{
Context = context;
Request = context.Request;
Response = context.Response;
//获取要调用的方法
string action = context.Request["action"].ToString();
System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(action);
if (methodInfo != null)
{
//在这里调用请求的action
//methodInfo.Invoke(this, new object[] { context });
methodInfo.Invoke(this, new object[] { });
}
}
public bool IsReusable
{
get
{
return false;
}
}
}一般处理程序Handler1.ashx
public class Handler1 : HandlerBase
{
public void GetList()
{
var name = Request.Form["name"];
Response.Write("returns jsonData");
}
}客户端
<script type="text/javascript">
$.ajax({
url: "Handler1.ashx",
type: "Post",
data: "action=GetList&name=lily",//请求Handler1.ashx下面的GetList方法
success: function (data) {
alert(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) { alert(textStatus); }
});
</script>
相关文章推荐
- jquery ajax调用一般处理程序
- ajax如何调用本页数据源不用一般处理程序
- c# 一般处理程序调用js方法
- html5 file调用一般处理程序上传图片
- Js中$.ajax调用一般处理程序(.ashx)
- 关于js实现的Ajax调用,webService,一般处理程序,aspx
- c# 一般处理程序调用js方法
- ajax调用一般处理程序的多个方法
- 关于js实现的Ajax调用,webService,一般处理程序,aspx
- 调用一般处理程序 提供接口api
- Android调用asp.net编写的*.ashx(一般处理程序)获取数据
- 关于js实现的Ajax调用,webService,一般处理程序,aspx
- ajax调用一般处理程序的多个方法
- js 调用一般处理程序 调用 接口post get
- 关于一般处理程序接口的调用的方法
- 多个ajax调用同一个 一般处理程序
- jq 文本输入框发生改变时,ajax调用一般处理程序,进行判断
- ASP.NET中一般处理程序报的错误:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值
- 调用自定义的方法接口.ashx一般处理程序 借鉴了别人网页抓取的类
- c# 一般处理程序(Jquery ajax调用)