DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX基礎知識 >> ASP.NET與Ajax的實現方式小總結
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 的<Asp:From> 標記,這樣 Ajax.net 會將用到的一些通用函數以及你自定義的函數加載進來,如果沒有 <Asp:From> 其實也可以,手動添加就可以了。但是,在我以前做過的應用中,時常出現的一些問題,比如,經常發現浏覽器狀態欄會有 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 加載數據,顯示到 <SPAN ID=News> 裡面。點擊那個 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 函數,呈現到頁面上,就這樣簡單搞定!

以上內容就是給大家分享的ASP.NET與Ajax的實現方式,希望大家喜歡。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved