XMLHttpRequest+WebForm模式(接口IHttpHandler)实现ajax

首先引入ajax.js文件 创建xmlhttpRequest对象

Code


//HTTP 处理程序
   IHttpHandler 接口:定义 ASP.NET 为使用自定义 HTTP 处理程序同步处理 HTTP Web 请求而实现的协定。
如果您的处理程序将访问会话状态值,它必须实现 IRequiresSessionState 接口(不包含任何方法的标记接口)。 
创建自定义 HTTP 处理程序

若要创建自定义 HTTP 处理程序,请创建实现 IHttpHandler 接口的类来创建一个同步处理程序。或者,可以实现 IHttpAsyncHandler 来创建一个异步处理程序。两种处理程序接口都要求您实现 IsReusable 属性和 ProcessRequest 方法。 IsReusable 属性指定 IHttpHandlerFactory 对象(实际调用适当处理程序的对象)是否可以将处理程序放置在池中,并且重新使用它以提高性能。如果处理程序不能放在池中,则在每次需要处理程序时工厂都必须创建处理程序的新实例。

ProcessRequest 方法负责处理单个 HTTP 请求。在此方法中,将编写生成处理程序输出的代码。

HTTP 处理程序有权访问应用程序上下文。其中包括请求用户的标识(如果已知)、应用程序状态和会话信息。当请求 HTTP 处理程序时,ASP.NET 将调用相应处理程序的 ProcessRequest 方法。您在处理程序的 ProcessRequest 方法中编写的代码将创建一个响应,此响应随后发送回请求浏览器。

Code

前台页面:

 

Code

或者通过客户端向另一个页面传递参数,由该页面处理数据,把结果输出到http流中 
 apsx.cs页面
   public partial class AjaxForm : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string name = Request.QueryString["name"];
                Response.Write(name.ToUpper());
                Response.Flush();
                Response.End();
            }
        }
    }

//xmlhttpRequest对象
   //发起异步请求
function sendRequest(){
    newXMLHttpRequest();
    var url="AjaxForm.aspx?name="+document.getElementById("txtName").value;
   xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange=onSuccessCallBack;
    xmlHttp.send(null);
}

原文地址:https://www.cnblogs.com/hubcarl/p/1567251.html