溫馨提示×

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

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

ASP.NET頁面怎么用AjaxPro2JS調(diào)用后臺(tái)

發(fā)布時(shí)間:2021-03-05 16:15:00 來源:億速云 閱讀:146 作者:TREX 欄目:開發(fā)技術(shù)

這篇文章主要講解了“ASP.NET頁面怎么用AjaxPro2JS調(diào)用后臺(tái)”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“ASP.NET頁面怎么用AjaxPro2JS調(diào)用后臺(tái)”吧!

1、什么是Ajax

Ajax是異步Javascript和XML(Asynchronous JavaScript and XML)的英文縮寫。"Ajax"這個(gè)名詞的發(fā)明人是Jesse James Garrett,而大力推廣并且使Ajax技術(shù)炙手可熱的是Google。Ajax的核心理念在于使用XMLHttpRequest對(duì)象發(fā)送異步請(qǐng)求。

2、為什么使用

  • Ajax減輕服務(wù)器的負(fù)擔(dān)。Ajax的原則是"按需取數(shù)據(jù)",可以最大程序地減少冗余請(qǐng)求,減輕服務(wù)器的負(fù)擔(dān)。

  • 無需刷新頁面,減少用戶心理和實(shí)際的等待時(shí)間。特別是在讀取大量數(shù)據(jù)時(shí),不會(huì)像刷新頁面那樣出現(xiàn)白屏的情況,Ajax使用XMLHttpRequest對(duì)象發(fā)送請(qǐng)求并且得到服務(wù)器響應(yīng),在不重新載入整個(gè)頁面的情況下,用Javascript操作DOM更新頁面。因此在讀取數(shù)據(jù)的過程中,用戶所面對(duì)的不是白屏,是原來的頁面內(nèi)容(也可以加入一個(gè)"loading"的提示框讓用戶知道目前正在讀取的數(shù)據(jù)),只有在數(shù)據(jù)接收完畢之后才更新社會(huì)相應(yīng)部分的內(nèi)容。這種更新是瞬間的,用戶幾乎感覺不到。

  • 帶來更好的用戶體驗(yàn)

  • 可以把以前一些服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)嫁到客戶端,利用客戶端閑置的能力來處理,減輕服務(wù)器負(fù)擔(dān),充分利用帶寬資源,節(jié)約空間和寬帶租用成本。

  • 可以調(diào)用外部數(shù)據(jù)

  • 基于標(biāo)準(zhǔn)化的并被廣泛支持的技術(shù),不需要下載插件或者小程序。

  • 進(jìn)一步促進(jìn)頁面呈現(xiàn)與數(shù)據(jù)的分離

3、Ajax應(yīng)用場(chǎng)景

場(chǎng)景1:數(shù)據(jù)驗(yàn)證

場(chǎng)景2:按需取數(shù)據(jù)

場(chǎng)景3:自動(dòng)更新頁面

4、Ajax開發(fā)框架

  • JQuery

  • Ext

  • YUI

  • Qooxdoo

  • DWR(Direct Web Remoting)

目前該產(chǎn)品被加入到WebWork中,開源(Apache)??梢栽贘avascript代碼中直接調(diào)用java方法的應(yīng)用框架,可以把Javascript中的請(qǐng)求調(diào)用轉(zhuǎn)遞到j(luò)ava方法中并將執(zhí)行結(jié)果返回給Javascript。

AjaxPro

AjaxPro是首家支持以各種方式通過javascript訪問服務(wù)端.net的免費(fèi)庫,類似于SAJAX。它能把Javascript請(qǐng)求發(fā)送到.NET方法,服務(wù)端傳回給Javascript,甚至包括串行化自定義類。其主要特點(diǎn)如下:

可以在Javascript中訪問Session和Application數(shù)據(jù);

緩存查詢結(jié)果

免費(fèi)使用源代碼

所有類支持Javascript客戶端返回?cái)?shù)據(jù),可以在Javascript中使用DataSet

使用HtmlControls組件訪問和返回?cái)?shù)據(jù)

頁面無需重載,用事件代理(數(shù)據(jù)訪問層)

因?yàn)橹惶峁┮粋€(gè)調(diào)用接口方法,所以服務(wù)端CPU占用非常少。

Magicajax

Magicajax以最簡(jiǎn)單的方式將Ajax功能整合到頁面中,不需要修改ASP.NET控件,也不需要編寫新的控件,更不需要撰寫JAVASCRIPT,它有如下的特性:

應(yīng)用配置簡(jiǎn)單,易于上手;

只用一個(gè)AJAXPANEL就實(shí)現(xiàn)Ajax功能,只要把需要無刷的控件放進(jìn)AJAXPANEL就可以了。

Ajax功能和普通的POSTBACK可以共存于一個(gè)WEBFORM,MAGICAJAX處理模塊只處理包含在AJAXPANEL中的控件的CALLBACK動(dòng)作。

VIEWSTATE的內(nèi)容對(duì)于POSTBACK和CALLBACK來說,都是可見的,因此,無論是CALLBACK產(chǎn)生的VIEWSTATE,還是POSTBACK產(chǎn)生的,都是可見的;

提供一個(gè)類似POSTBACK的CALLBACK的事件模型

支持IE和Firefox

Anthem.NET

和傳統(tǒng)的Ajax技術(shù)相比,Anthem.NET有以下優(yōu)點(diǎn):

不需要任何技術(shù)升級(jí),以前不會(huì)使用Ajax技術(shù)的人員,按照以往的編程方式就可以實(shí)現(xiàn)異步交互;

支持asp.net 1.1和asp.net 2.0

5、AjaxPro說明

本文檔將使用AjaxPro.Net框架實(shí)現(xiàn)Ajax功能:在客戶端異步調(diào)用服務(wù)端方法。AjaxPro.Net是一個(gè)優(yōu)秀的.net環(huán)境下的Ajax框架,用法很簡(jiǎn)單,可以查閱相關(guān)資料,本文檔以一個(gè)簡(jiǎn)單的實(shí)例講述使用AjaxPro的幾個(gè)關(guān)鍵點(diǎn),本例實(shí)現(xiàn)一個(gè)簡(jiǎn)單的功能,服務(wù)器端將頁面中輸入的數(shù)字加1后的結(jié)果返回給客戶端(注意,必須有AjaxPro包,即AjaxPro.dll文件,可以在VSS上下載)。

6、AjaxPro實(shí)例說明

6.1、添加AjaxPro.dll應(yīng)用

2.1.1用VS打開項(xiàng)目,在其資源管理器中,右擊引用,左擊"添加引用",如圖1_1所示

ASP.NET頁面怎么用AjaxPro2JS調(diào)用后臺(tái)

圖1-1

2.1.2出現(xiàn)如圖1_2所示的對(duì)話框,點(diǎn)擊瀏覽,找到AjaxPro.dll文件所在的位置,雙擊AjaxPro.dll,然后點(diǎn)擊確定。

ASP.NET頁面怎么用AjaxPro2JS調(diào)用后臺(tái)

圖1-2

2.1.3在資源管理器的引用文件夾下,就可以看到AjaxPro了,說明添加引用成功,如圖1_3所示。

ASP.NET頁面怎么用AjaxPro2JS調(diào)用后臺(tái)

圖1-3

2.2、配置web.config

這一步的作用是保證客戶端向"ajaxpro/*.ashx"的請(qǐng)求(POST和GET)都被AjaxPro.AjaxHandlerFactory攔截。

打開web.config文件,在<configuration><system.web>后添加以下代碼,

<httpHandlers>

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

</httpHandlers>

如圖2_1所示。

ASP.NET頁面怎么用AjaxPro2JS調(diào)用后臺(tái)

圖2-1

2.3、添加服務(wù)端方法

2.3.1打開后臺(tái)代碼,在Page_Load方法體內(nèi)加上如下代碼,

AjaxPro.Utility.RegisterTypeForAjax(typeof(所在類的類名));

如圖3-1所示。

ASP.NET頁面怎么用AjaxPro2JS調(diào)用后臺(tái)

圖3-1

其作用是向客戶端輸出下面的代碼:

<script type="text/javascript" src="/ch43/ajaxpro/core.ashx"></script>

<script type="text/javascript" src="/ch43/ajaxpro/ch43.Verify,ch43.ashx"></script>

2.3.2、添加數(shù)字加一的方法,首先在方法前加[AjaxPro.AjaxMethod],然后像寫C#方法一樣寫方法,如圖3-2

ASP.NET頁面怎么用AjaxPro2JS調(diào)用后臺(tái)

圖3-2

注意:需要加上[Ajax.AjaxMethod]標(biāo)識(shí),這樣才能夠被客戶端訪問

2.4、添加前臺(tái)代碼

在前臺(tái)添加JS腳本,調(diào)用服務(wù)器端方法,如圖4-1所示(Try.AjaxTest.Add(num),Try為頁面類,即AjaxTest類所在的命名空間,這里是Try;而AjaxTest即為類名,Add為方法名)

ASP.NET頁面怎么用AjaxPro2JS調(diào)用后臺(tái)

圖4-1

2.5、運(yùn)行程序,檢驗(yàn)結(jié)果

按以上四個(gè)步驟,就可以實(shí)現(xiàn)預(yù)期的效果,如圖5-1所示。

ASP.NET頁面怎么用AjaxPro2JS調(diào)用后臺(tái)


感謝各位的閱讀,以上就是“ASP.NET頁面怎么用AjaxPro2JS調(diào)用后臺(tái)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)ASP.NET頁面怎么用AjaxPro2JS調(diào)用后臺(tái)這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

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

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

AI