您好,登錄后才能下訂單哦!
如何理解ASP.NET與Ajax的實現方式,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
Ajax 應該不是一項技術,是一種思想而已,跟 ASP.NET 以及其它 Web 開發語言沒有什么太大關系,這里只是談談 ASP.NET 中目前使用的 Ajax 技術以及其它一些實現 Ajax 的優秀框架。
Ajax 已經很流行一陣子了,現在談 Ajax 覺得有點老土。目前所謂的 Web2.0 網站,基本上沒有不使用 Ajax 的,就如使用 RSS 一樣,就如同一個標簽,貼上去就成了 2.0。Ajax 具體細節不談,其目的就是讓用戶觸發一些操作的時候,頁面不會全部刷新,只刷新待更新的“部分頁面”,加載數據的過程中,用 Loading 的圖片來表示正在加載數據,不只是看起來挺不錯,也提高了用戶的訪問體驗,有一種酷酷的感覺。
至于 ASP.NET 中用到的 Ajax ,我想大多數人使用的是 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 會將用到的一些通用函數以及你自定義的函數加載進來,如果沒有 其實也可以,手動添加就可以了。但是,在我以前做過的應用中,時常出現的一些問題,比如,經常發現瀏覽器狀態欄會有 js 腳本錯誤,而此時你所做的 Ajax 效果會全部失效,解決辦法就是,把那個 Ajax.dll /AjaxPro.dll 給重新覆蓋一下就可以了,問題的原因究竟是什么,目前還不知道。
至于 Atlas,我對它的感覺其實就跟對 DataGrid 的感覺一樣,嗯,這種控件的好用是好用,很方便,但是,真正做一些 Web 應用的時候,你不得不考慮到性能以及分層等各種問題。我想,在比較正式的 Web 應用中,沒幾個人去用 DataGrid 去顯示一些數據吧,建議大家盡量少用這些控件。另外就是,Atlas 的執行效率確實不夠理想,一直在那里 Loading,等了好長時間,竟然出現什么腳本錯誤,汗。
那還有沒有其它解決方案嗎?你可以自己寫些 Javascript 函數去實現。不過,我這里推薦用 jQuery 這個 Javascript 框架,從百度百科引用一段對其的介紹:
jQuery 是繼 prototype 之后又一個優秀的 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、實現動畫效果,并且方便地為網站提供 AJAX 交互。
jQuery 還有一個比較大的優勢是,它的文檔說明很全,而且各種應用也說得很詳細,同時還有許多成熟的插件可供選擇。
jQuery 能夠使用戶的 html 頁保持代碼和 html 內容分離,也就是說,不用再在 html 里面插入一堆js來調用命令了,只需定義 id 即可。
看來這段介紹你會知道,Ajax 效果只是 jQuery 的眾多功能的一種,一般來說,Web 應用中使用 Ajax,必然也離不開 Javascript,而 jQuery 正是為大家封裝了一些 JS 函數,使得你不在被 JS 的紛繁復雜所擔心,一切由 jQuery 幫你實現。
看一個小例子,就知道用 jQuery 做 Ajax 實在是太方便了。
比如某個 ASPX 或者 HTML 頁面里面有個 Button,點擊觸發 Ajax 加載數據,顯示到 里面。點擊那個 Button 觸發一個 JS 函數即可:
以下是引用片段:
function GetNews() { $("#News").html("Loading News......"); $.ajax({ type:"post", url:"/ajax.aspx?act=getnews", dataType:"html", data:"", success:function(result) { $("#News").html(result); } }); }
這個函數就會先在那個 SPAN 里面顯示“Loading News....”,通過異步調用,訪問 /Ajax.aspx 這個頁面,通過傳遞的 URL 參數 act=News 告訴頁面需要什么類型的數據,你可以根據不同的參數,將數據通過 Ajax.aspx 直接 Write 到頁面上,然后返回給上述 JS 函數,呈現到頁面上,就這樣簡單搞定!
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。