Ajax在ASP.NET中的實(shí)現(xiàn)方式

這篇文章主要講解了“Ajax在ASP.NET中的實(shí)現(xiàn)方式”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Ajax在ASP.NET中的實(shí)現(xiàn)方式”吧!

創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的網(wǎng)站制作、成都做網(wǎng)站,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。十多年品質(zhì),值得信賴!

Ajax 應(yīng)該不是一項(xiàng)技術(shù),是一種思想而已,跟ASP.NET 以及其它Web開(kāi)發(fā)語(yǔ)言沒(méi)有什么太大關(guān)系,這里只是談?wù)?ASP.NET 中目前使用的Ajax 技術(shù)以及其它一些實(shí)現(xiàn) Ajax 的優(yōu)秀框架。
Ajax已經(jīng)很流行一陣子了,現(xiàn)在談Ajax覺(jué)得有點(diǎn)老土。目前所謂的Web2.0 網(wǎng)站,基本上沒(méi)有不使用Ajax 的,就如使用RSS一樣,就如同一個(gè)標(biāo)簽,貼上去就成了 2.0。Ajax 具體細(xì)節(jié)不談,其目的就是讓用戶觸發(fā)一些操作的時(shí)候,頁(yè)面不會(huì)全部刷新,只刷新待更新的“部分頁(yè)面”,加載數(shù)據(jù)的過(guò)程中,用 Loading 的圖片來(lái)表示正在加載數(shù)據(jù),不只是看起來(lái)挺不錯(cuò),也提高了用戶的訪問(wèn)體驗(yàn),有一種酷酷的感覺(jué)。

至于ASP.NET 中用到的Ajax ,我想大多數(shù)人使用的是Ajax.net / AjaxProfessional 或者ASP.NET 2.0 中帶有的Atlas 框架。因?yàn)槎加眠^(guò),我感覺(jué)這些都不是很好的Ajax 解決方案。

AjaxPro用起來(lái)不是很方便,頁(yè)面需要在Page_Load 里面注冊(cè),類似于

以下是引用片段:
private void Page_Load(object sender, System.EventArgs e) 
{ 
AjaxPro.Utility.RegisterTypeForAjax(typeof(DataAccess.MyAjax)); 
}

而且ASPX 頁(yè)面要包含一個(gè)Runat=Server 的標(biāo)記,這樣Ajax.net 會(huì)將用到的一些通用函數(shù)以及你自定義的函數(shù)加載進(jìn)來(lái),如果沒(méi)有 其實(shí)也可以,手動(dòng)添加就可以了。但是,在我以前做過(guò)的應(yīng)用中,時(shí)常出現(xiàn)的一些問(wèn)題,比如,經(jīng)常發(fā)現(xiàn)瀏覽器狀態(tài)欄會(huì)有js 腳本錯(cuò)誤,而此時(shí)你所做的Ajax 效果會(huì)全部失效,解決辦法就是,把那個(gè) Ajax.dll /AjaxPro.dll 給重新覆蓋一下就可以了,問(wèn)題的原因究竟是什么,目前還不知道。

至于Atlas,我對(duì)它的感覺(jué)其實(shí)就跟對(duì)DataGrid 的感覺(jué)一樣,嗯,這種控件的好用是好用,很方便,但是,真正做一些Web 應(yīng)用的時(shí)候,你不得不考慮到性能以及分層等各種問(wèn)題。我想,在比較正式的Web 應(yīng)用中,沒(méi)幾個(gè)人去用 DataGrid 去顯示一些數(shù)據(jù)吧,建議大家盡量少用這些控件。另外就是,Atlas 的執(zhí)行效率確實(shí)不夠理想,一直在那里 Loading,等了好長(zhǎng)時(shí)間,竟然出現(xiàn)什么腳本錯(cuò)誤,汗。

那還有沒(méi)有其它解決方案嗎?你可以自己寫些Javascript 函數(shù)去實(shí)現(xiàn)。不過(guò),我這里推薦用jQuery 這個(gè)Javascript 框架,從百度百科引用一段對(duì)其的介紹:

jQuery 是繼prototype之后又一個(gè)優(yōu)秀的Javascrīpt 框架。其宗旨是——WRITE LESS,DO MORE,寫更少的代碼,做更多的事情。

它是輕量級(jí)的js庫(kù)(壓縮后只有21k) ,這是其它的js庫(kù)所不及的,它兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。

jQuery是一個(gè)快速的,簡(jiǎn)潔的javaScript 庫(kù),使用戶能更方便地處理HTML documents、events、實(shí)現(xiàn)動(dòng)畫效果,并且方便地為網(wǎng)站提供 AJAX 交互。

jQuery還有一個(gè)比較大的優(yōu)勢(shì)是,它的文檔說(shuō)明很全,而且各種應(yīng)用也說(shuō)得很詳細(xì),同時(shí)還有許多成熟的插件可供選擇。

jQuery能夠使用戶的html頁(yè)保持代碼和html內(nèi)容分離,也就是說(shuō),不用再在html 里面插入一堆JS來(lái)調(diào)用命令了,只需定義id 即可。

看來(lái)這段介紹你會(huì)知道,Ajax 效果只是 jQuery 的眾多功能的一種,一般來(lái)說(shuō),Web 應(yīng)用中使用Ajax,必然也離不開(kāi)Javascript,而jQuery 正是為大家封裝了一些 JS 函數(shù),使得你不在被JS 的紛繁復(fù)雜所擔(dān)心,一切由jQuery 幫你實(shí)現(xiàn)。

看一個(gè)小例子,就知道用jQuery 做 Ajax 實(shí)在是太方便了。

比如某個(gè) ASPX 或者 HTML 頁(yè)面里面有個(gè)Button,點(diǎn)擊觸發(fā)Ajax加載數(shù)據(jù),顯示到里面。點(diǎn)擊那個(gè)Button 觸發(fā)一個(gè)JS函數(shù)即可:

以下是引用片段:
function GetNews() 
{ 
$("#News").html("Loading News......"); 
$.ajax({ 
type:"post", 
url:"/ajax.aspx?act=getnews", 
dataType:"html", 
data:"", 
success:function(result) 
{ 
$("#News").html(result); 
} 
}); 
}

這個(gè)函數(shù)就會(huì)先在那個(gè) SPAN 里面顯示“Loading News....”,通過(guò)異步調(diào)用,訪問(wèn) /Ajax.aspx 這個(gè)頁(yè)面,通過(guò)傳遞的 URL 參數(shù) act=News 告訴頁(yè)面需要什么類型的數(shù)據(jù),你可以根據(jù)不同的參數(shù),將數(shù)據(jù)通過(guò)Ajax.aspx 直接 Write 到頁(yè)面上,然后返回給上述 JS 函數(shù),呈現(xiàn)到頁(yè)面上,就這樣簡(jiǎn)單搞定!

當(dāng)然,jQuery 里面并不是只有這一種Ajax 效果實(shí)現(xiàn)方式,這里給出一些jQuery 的資源,花上幾個(gè)小時(shí)的時(shí)間學(xué)一下,很值得:

jQuery 官網(wǎng):http://jquery.com/

jQuery 中文 API 文檔: http://jquery.org.cn/visual/cn/index.xml

jQeury 中文入門教程: http://www.k99k.com/jQuery_getting_started.html

至于其它的Javascript優(yōu)秀框架有很多了,比如Yahoo! User Interface Library,Prototype,Rico,Qooxdoo,Dojo 等,另外還有Ajax 方面一些資源可以參考一下這里收集的資源。

感謝各位的閱讀,以上就是“Ajax在ASP.NET中的實(shí)現(xiàn)方式”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Ajax在ASP.NET中的實(shí)現(xiàn)方式這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

網(wǎng)站標(biāo)題:Ajax在ASP.NET中的實(shí)現(xiàn)方式
網(wǎng)頁(yè)網(wǎng)址:http://muchs.cn/article34/gphise.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣電子商務(wù)、關(guān)鍵詞優(yōu)化App設(shè)計(jì)、云服務(wù)器網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)