DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX詳解 >> AjaxPro在.NET中的應用
AjaxPro在.NET中的應用
編輯:AJAX詳解     

簡單介紹 

AJax(Asynchronous Javascript + XML)應用可以僅向服務器發送並取回必需的數據,它使用SOAP或其它一些基於XML的web service接口,並在客戶端采用JavaScript處理來自服務器的響應。因為在服務器和浏覽器之間交換的數據大量減少,結果我們就能看到響應更快的應用。同時很多的處理工作可以在發出請求的客戶端機器上完成,所以Web服務器的處理時間也減少了。

AJax應用程序的優勢在於:

1. 通過異步模式,提升了用戶體驗

2. 優化了浏覽器和服務器之間的傳輸,減少不必要的數據往返,減少了帶寬占用

3. AJax引擎在客戶端運行,承擔了一部分本來由服務器承擔的工作,從而減少了大用戶量下的服務器負載。

配置  

AJax.Net有AjaxPro.dll和AJax.dll兩個版本,這兩個版本使用上雖然差不多,但還是有區別的,主要的區別在下面兩點:

1. web.config配置文件不一樣

AJax.dll的配置文件寫法為

<addverb="POST,GET"path="ajax/*.ashx"type="Ajax.PageHandlerFactory,AJax"/>

AJaxPro.dll的配置文件寫法為

<addverb="*"path="ajaxpro/*.ashx"type="AjaxPro.AjaxHandlerFactory,AJaxPro"/>

2. 調用服務器方法的時候方式不一樣,有很多朋友就是因為這個原因,發現命名空間找不到或者對象未定義

引用AJax.dll的時候,調用服務器方法不要加命名空間,

引用AJaxPro.dll的時候,調用服務器方法需要加命名空間

例如當頁面設置為這種設置的時候

<%@Pagelanguage="c#"Codebehind="Test.ASPx.cs"AutoEventWireup="false"Inherits="Web.Test"%>

3. 客戶端調用方式

AJax.dll為
varresponse=Test.GetServerMethod();
alert(response.value);
AJaxPro.dll為
varresponse=Web.Test.GetServerMethod();
alert(response.value);

具體使用步驟

1. 首先下載AjaxPro 組件。並將AJaxPro.dll引用到網站(或項目)。

2. 修改Web.config。在 <system.web> 元素中添加以下代碼。

<configuration>
<system.web>
<httpHandlers>
<!-- Register the AJax handler -->
<add verb="*" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AJaxPro"/>
</httpHandlers>
</system.web>
</configuration>

3. 對AJaxPro在頁Page_Load事件中進行運行時注冊。如:

protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAJax(typeof(_Default));//這的_Default是指頁面
類的類名。如是放在命名空間,則需要寫上完整的命名空間(如:namespaces._Default)
}

4. 創建服務器端方法。只要給一個方法加上[AjaxPro.AJaxMethod]標記,

該方法就變成一個AJaxPro可進行影射調用的方法。如下:

[AjaxPro.AJaxMethod]
public string getValue(int a,int b)
{ 
//該方法我們將實現從客戶端傳入兩個數,在服務器端相加計算後返回到客戶端。
  return Convert.ToString(a+b);
} 

5. 客戶端調用。

<script language="Javascript">
  function getValue(){ 
  _Default.getValue(1,2,getGroups_callback);//該處即調用服務器端的_Default.getValue方法。
  這在裡邊需要指定個回調函數,以接受服務器端處理完後返回客戶端結果。
  form1.TextBox1.value="123";
} 
  //這個方法用戶接受並處理服務器端返回的結果。
  function getGroups_callback(response){
  var dt=response.value;
  alert(dt);
  }
</script> 

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