DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX基礎知識 >> 詳解如何實現最基本的AJAX框架
詳解如何實現最基本的AJAX框架
編輯:AJAX基礎知識     
    Asp.Net 2.0自帶的客戶端回調

    Asp.Net 2.0已經發布。2.0有了許多新特性,客戶端回調就是其中之一。客戶端回調允許我們不經過回發而調用服務器端的方法,與AJAX提供的功能是一致的,但是不如AJAX靈活,AJAX可以自定義調用的方法,2.0自帶的回調功能卻不行。要使用客戶端回調功能必須實現System.Web.UI.IcallbackEventHandler接口。

這個接口包含兩個方法

//客戶端回調時固定調用此方法

public void RaiseCallbackEvent(String eventArgument)

//執行完RaiseCallbackEvent後將調用此方法。此方法的返回值將被發回客戶端

public string GetCallbackResult()

例:

.cs:

String cbReference = Page.ClientScript.GetCallbackEventReference(

this,"arg", "ReceiveServerData", "context");

String callbackScript;

callbackScript = "function CallServer(arg, context)" + "{ " + cbReference + "} ;";

Page.ClientScript.RegisterClientScriptBlock(

this.GetType(),"CallServer", callbackScript, true);

javascript:

    AJAX介紹

    AJAX並不是一種新的技術,而是一些已有技術的有機結合,主要包括:XmlHttp、Reflect。一個AJAX框架基本上包括:一個自定義的HttpHandler、一段JavaScript代碼。

    AJAX運行機制

    以前我們使用XmlHttp實現無刷新頁面的時候,是用XmlHttp來請求一個隱藏的頁面,使用(Asp/Asp.Net)自帶的HttpHandler,而在AJAX中,我們請求的也是一個隱藏的頁面,不同的是這個頁面的HttpHandler是由我們自己來實現。

    打造自己的AJAX:

  1.首先我們要實現一個Http處理程序(HttpHandler)來響應客戶端的請求:

實現自定義的HttpHandler需要實現IHttpHandler接口。

該接口包含一個屬性和一個方法:

bool IHttpHandler.IsReusable

void IHttpHandler.ProcessRequest(HttpContext context)

Example:

bool IHttpHandler.IsReusable

{

 get { return true; }

}

void IHttpHandler.ProcessRequest(HttpContext context)

{

 context.Response.Clear(); //獲取要調用的方法

 string methodName = context.Request.QueryString["me"];

 //獲取程序集信息。

 //Czhenq.AJAX.Class1.Dencode是自定義的字符串編碼方法

 string AssemblyName = Czhenq.AJAX.Class1.Dencode(context.Request.QueryString["as"]);

//獲取方法的參數

 string Arguments = context.Request.QueryString["ar"]; //開始調用方法

 Type type = Type.GetType(AssemblyName);

 MethodInfo method = type.GetMethod(methodName,

BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance);

 

 if (method != null)

 {

//參數使用","分隔

string[] args = Arguments.Split(",".ToCharArray());

ParameterInfo[] paras = method.GetParameters();

object[] argument = new object[paras.

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved