您好,登錄后才能下訂單哦!
本篇內容介紹了“ASP.NET 與 Ajax 的實現(xiàn)方式”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Ajax 應該不是一項技術,是一種思想而已,跟 ASP.NET 以及其它 Web 開發(fā)語言沒有什么太大關系,這里只是談談 ASP.NET 中目前使用的 Ajax 技術以及其它一些實現(xiàn) Ajax 的優(yōu)秀框架。
Ajax 已經(jīng)很流行一陣子了,現(xiàn)在談 Ajax 覺得有點老土。目前所謂的 Web2.0 網(wǎng)站,基本上沒有不使用 Ajax 的,就如使用 RSS 一樣,就如同一個標簽,貼上去就成了 2.0。Ajax 具體細節(jié)不談,其目的就是讓用戶觸發(fā)一些操作的時候,頁面不會全部刷新,只刷新待更新的“部分頁面”,加載數(shù)據(jù)的過程中,用 Loading 的圖片來表示正在加載數(shù)據(jù),不只是看起來挺不錯,也提高了用戶的訪問體驗,有一種酷酷的感覺。
至于 ASP.NET 中用到的 Ajax ,我想大多數(shù)人使用的是 Ajax.net / AjaxProfessional 或者 ASP.NET 2.0 中帶有的 Atlas 框架。因為都用過,我感覺這些都不是很好的 Ajax 解決方案。
AjaxPro 用起來不是很方便,頁面需要在 Page_Load 里面注冊,類似于
以下是引用片段:
private void Page_Load(object sender, System.EventArgs e) { AjaxPro.Utility.RegisterTypeForAjax(typeof(DataAccess.MyAjax)); }
而且 ASPX 頁面要包含一個 Runat=Server 的 標記,這樣 Ajax.net 會將用到的一些通用函數(shù)以及你自定義的函數(shù)加載進來,如果沒有 其實也可以,手動添加就可以了。但是,在我以前做過的應用中,時常出現(xiàn)的一些問題,比如,經(jīng)常發(fā)現(xiàn)瀏覽器狀態(tài)欄會有 js 腳本錯誤,而此時你所做的 Ajax 效果會全部失效,解決辦法就是,把那個 Ajax.dll /AjaxPro.dll 給重新覆蓋一下就可以了,問題的原因究竟是什么,目前還不知道。
至于 Atlas,我對它的感覺其實就跟對 DataGrid 的感覺一樣,嗯,這種控件的好用是好用,很方便,但是,真正做一些 Web 應用的時候,你不得不考慮到性能以及分層等各種問題。我想,在比較正式的 Web 應用中,沒幾個人去用 DataGrid 去顯示一些數(shù)據(jù)吧,建議大家盡量少用這些控件。另外就是,Atlas 的執(zhí)行效率確實不夠理想,一直在那里 Loading,等了好長時間,竟然出現(xiàn)什么腳本錯誤.
那還有沒有其它解決方案嗎?你可以自己寫些 Javascript 函數(shù)去實現(xiàn)。不過,我這里推薦用 jQuery 這個 Javascript 框架,從百度百科引用一段對其的介紹:
jQuery 是繼 prototype 之后又一個優(yōu)秀的 Javascrīpt 框架。其宗旨是——WRITE LESS,DO MORE,寫更少的代碼,做更多的事情。
它是輕量級的 js 庫(壓縮后只有21k) ,這是其它的 js 庫所不及的,它兼容 CSS3,還兼容各種瀏覽器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。
jQuery 是一個快速的,簡潔的 javaScript 庫,使用戶能更方便地處理 HTML documents、events、實現(xiàn)動畫效果,并且方便地為網(wǎng)站提供 AJAX 交互。
jQuery 還有一個比較大的優(yōu)勢是,它的文檔說明很全,而且各種應用也說得很詳細,同時還有許多成熟的插件可供選擇。
jQuery 能夠使用戶的 html 頁保持代碼和 html 內容分離,也就是說,不用再在 html 里面插入一堆js來調用命令了,只需定義 id 即可。
看來這段介紹你會知道,Ajax 效果只是 jQuery 的眾多功能的一種,一般來說,Web 應用中使用 Ajax,必然也離不開 Javascript,而 jQuery 正是為大家封裝了一些 JS 函數(shù),使得你不在被 JS 的紛繁復雜所擔心,一切由 jQuery 幫你實現(xiàn)。
看一個小例子,就知道用 jQuery 做 Ajax 實在是太方便了。
比如某個 ASPX 或者 HTML 頁面里面有個 Button,點擊觸發(fā) Ajax 加載數(shù)據(jù),顯示到 里面。點擊那個 Button 觸發(fā)一個 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); } }); }
這個函數(shù)就會先在那個 SPAN 里面顯示“Loading News....”,通過異步調用,訪問 /Ajax.aspx 這個頁面,通過傳遞的 URL 參數(shù) act=News 告訴頁面需要什么類型的數(shù)據(jù),你可以根據(jù)不同的參數(shù),將數(shù)據(jù)通過 Ajax.aspx 直接 Write 到頁面上,然后返回給上述 JS 函數(shù),呈現(xiàn)到頁面上,就這樣簡單搞定!
當然,jQuery 里面并不是只有這一種 Ajax 效果實現(xiàn)方式,這里給出一些 jQuery 的資源,花上幾個小時的時間學一下,很值得:
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 方面一些資源可以參考一下這里收集的資源。
“ASP.NET 與 Ajax 的實現(xiàn)方式”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。