溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

.NET中AjaxPro如何使用

發(fā)布時(shí)間:2021-07-20 10:47:56 來源:億速云 閱讀:135 作者:Leah 欄目:web開發(fā)

本篇文章為大家展示了.NET中AjaxPro如何使用,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

簡(jiǎn)單介紹 

Ajax(Asynchronous JavaScript + XML)應(yīng)用可以僅向服務(wù)器發(fā)送并取回必需的數(shù)據(jù),它使用SOAP或其它一些基于XML的web service接口,并在客戶端采用JavaScript處理來自服務(wù)器的響應(yīng)。因?yàn)樵诜?wù)器和瀏覽器之間交換的數(shù)據(jù)大量減少,結(jié)果我們就能看到響應(yīng)更快的應(yīng)用。同時(shí)很多的處理工作可以在發(fā)出請(qǐng)求的客戶端機(jī)器上完成,所以Web服務(wù)器的處理時(shí)間也減少了。

Ajax應(yīng)用程序的優(yōu)勢(shì)在于:

1. 通過異步模式,提升了用戶體驗(yàn)

2. 優(yōu)化了瀏覽器和服務(wù)器之間的傳輸,減少不必要的數(shù)據(jù)往返,減少了帶寬占用

3. Ajax引擎在客戶端運(yùn)行,承擔(dān)了一部分本來由服務(wù)器承擔(dān)的工作,從而減少了大用戶量下的服務(wù)器負(fù)載。

配置  

Ajax.net有AjaxPro.dll和Ajax.dll兩個(gè)版本,這兩個(gè)版本使用上雖然差不多,但還是有區(qū)別的,主要的區(qū)別在下面兩點(diǎn):

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. 調(diào)用服務(wù)器方法的時(shí)候方式不一樣,有很多朋友就是因?yàn)檫@個(gè)原因,發(fā)現(xiàn)命名空間找不到或者對(duì)象未定義

引用Ajax.dll的時(shí)候,調(diào)用服務(wù)器方法不要加命名空間,

引用AjaxPro.dll的時(shí)候,調(diào)用服務(wù)器方法需要加命名空間

例如當(dāng)頁面設(shè)置為這種設(shè)置的時(shí)候

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

3. 客戶端調(diào)用方式

Ajax.dll為
varresponse=Test.GetServerMethod();
alert(response.value);
AjaxPro.dll為
varresponse=Web.Test.GetServerMethod();
alert(response.value);

具體使用步驟

1. 首先下載AjaxPro 組件。并將AjaxPro.dll引用到網(wǎng)站(或項(xiàng)目)。

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. 對(duì)AjaxPro在頁P(yáng)age_Load事件中進(jìn)行運(yùn)行時(shí)注冊(cè)。如:

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

4. 創(chuàng)建服務(wù)器端方法。只要給一個(gè)方法加上[AjaxPro.AjaxMethod]標(biāo)記,

該方法就變成一個(gè)AjaxPro可進(jìn)行影射調(diào)用的方法。如下:

[AjaxPro.AjaxMethod]
public string getValue(int a,int b)
{ 
//該方法我們將實(shí)現(xiàn)從客戶端傳入兩個(gè)數(shù),在服務(wù)器端相加計(jì)算后返回到客戶端。
  return Convert.ToString(a+b);
} 

5. 客戶端調(diào)用。

<script language="javascript">
  function getValue(){ 
  _Default.getValue(1,2,getGroups_callback);//該處即調(diào)用服務(wù)器端的_Default.getValue方法。
  這在里邊需要指定個(gè)回調(diào)函數(shù),以接受服務(wù)器端處理完后返回客戶端結(jié)果。
  form1.TextBox1.value="123";
} 
  //這個(gè)方法用戶接受并處理服務(wù)器端返回的結(jié)果。
  function getGroups_callback(response){
  var dt=response.value;
  alert(dt);
  }
</script> 

上述內(nèi)容就是.NET中AjaxPro如何使用,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI