ASP.NET與Ajax的實(shí)現(xiàn)方式小總結(jié)
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è),類(lèi)似于
private void Page_Load(object sender, System.EventArgs e) { AjaxPro.Utility.RegisterTypeForAjax(typeof(DataAccess.MyAjax)); }
而且 ASPX 頁(yè)面要包含一個(gè) Runat=Server 的<Asp:From> 標(biāo)記,這樣 Ajax.net 會(huì)將用到的一些通用函數(shù)以及你自定義的函數(shù)加載進(jìn)來(lái),如果沒(méi)有 <Asp:From> 其實(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)有其它解決方案嗎?你可以自己寫(xiě)些 Javascript 函數(shù)去實(shí)現(xiàn)。不過(guò),我這里推薦用 jQuery 這個(gè) Javascript 框架,從百度百科引用一段對(duì)其的介紹:
jQuery 是繼 prototype 之后又一個(gè)優(yōu)秀的 Javascrīpt 框架。其宗旨是——WRITE LESS,DO MORE,寫(xiě)更少的代碼,做更多的事情。
它是輕量級(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)畫(huà)效果,并且方便地為網(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ù),顯示到 <SPAN ID=News> 里面。點(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è)面需要什么類(lèi)型的數(shù)據(jù),你可以根據(jù)不同的參數(shù),將數(shù)據(jù)通過(guò) Ajax.aspx 直接 Write 到頁(yè)面上,然后返回給上述 JS 函數(shù),呈現(xiàn)到頁(yè)面上,就這樣簡(jiǎn)單搞定!
以上內(nèi)容就是給大家分享的ASP.NET與Ajax的實(shí)現(xiàn)方式,希望大家喜歡。
- asp.net+ajax簡(jiǎn)單分頁(yè)實(shí)例分析
- ASP.NET基于Ajax的Enter鍵提交問(wèn)題分析
- ASP.NET搭配Ajax實(shí)現(xiàn)搜索提示功能
- Ajax+asp.net實(shí)現(xiàn)用戶登陸
- asp.net+ajax的Post請(qǐng)求實(shí)例
- asp.net使用AJAX實(shí)現(xiàn)無(wú)刷新分頁(yè)
- asp.net+ajax+sqlserver自動(dòng)補(bǔ)全功能實(shí)現(xiàn)解析
- jquery.Ajax()方法調(diào)用Asp.Net后臺(tái)的方法解析
- asp.net中利用Jquery+Ajax+Json實(shí)現(xiàn)無(wú)刷新分頁(yè)的實(shí)例代碼
- Asp.net ajax實(shí)現(xiàn)任務(wù)提示頁(yè)面的簡(jiǎn)單代碼
- ASP.NET中TextBox使用Ajax控件顯示日期不全的問(wèn)題解決方法
- ASP.NET中使用Ajax的方法
- 輕量級(jí)asp.net ajax解決方案詳解
相關(guān)文章
ajax 自動(dòng)完成下拉框 自動(dòng)提示位置問(wèn)題
ajax 自動(dòng)完成下拉框 自動(dòng)提示位置問(wèn)題...2007-02-02ajax的定時(shí)調(diào)用每5秒調(diào)用一次
這篇文章主要介紹了關(guān)于ajax的定時(shí)調(diào)用,本例為每5秒調(diào)用一次,大家可以根據(jù)自己的需求更改2014-05-05Ajax+Struts2實(shí)現(xiàn)驗(yàn)證碼驗(yàn)證功能實(shí)例代碼
這篇文章主要介紹了Ajax+Struts2實(shí)現(xiàn)驗(yàn)證碼驗(yàn)證功能實(shí)例代碼的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07bootstrap select2 動(dòng)態(tài)從后臺(tái)Ajax動(dòng)態(tài)獲取數(shù)據(jù)的代碼
這篇文章主要介紹了bootstrap select2 動(dòng)態(tài)從后臺(tái)Ajax動(dòng)態(tài)獲取數(shù)據(jù)的代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12javascript Ajax獲取遠(yuǎn)程url的返回判斷
將以下文本放入一個(gè)HTML頁(yè)面即可看到效果,將會(huì)有兩次彈出提示,最后在頁(yè)面上顯示YES,表示完成2012-01-01Ajax跨域訪問(wèn)Cookie丟失問(wèn)題的解決方法
這篇文章主要介紹了Ajax跨域訪問(wèn)Cookie丟失問(wèn)題的解決方法,需要的朋友可以參考下2017-02-02Ajax創(chuàng)建XMLHttp對(duì)象的完美兼容性代碼
Ajax創(chuàng)建XMLHttp對(duì)象的完美兼容性代碼,需要的朋友可以參考下。2011-11-11解決IE下AjaxSubmit上傳文件提示下載文件問(wèn)題
這篇文章主要介紹了解決IE下AjaxSubmit上傳文件提示下載文件問(wèn)題,需要的朋友可以參考下2017-04-04AJAX顯示加載中并彈出圖層遮擋頁(yè)面的實(shí)現(xiàn)示例
大家都知道AJAX的請(qǐng)求是異步的,這種異步的機(jī)制給我們帶來(lái)了體驗(yàn)上的優(yōu)化,但是同時(shí)我要求我們有更完善的思維去處理一個(gè)業(yè)務(wù)。當(dāng)用戶請(qǐng)求后長(zhǎng)時(shí)間沒(méi)有回應(yīng)是一種非常不好的用戶體驗(yàn),所以我們可以在請(qǐng)求后利用AJAX顯示加載中并彈出圖層遮擋頁(yè)面,下面來(lái)看看實(shí)現(xiàn)方法。2016-12-12ajax數(shù)據(jù)返回進(jìn)行遍歷的實(shí)例講解
今天小編就為大家分享一篇ajax數(shù)據(jù)返回進(jìn)行遍歷的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08