熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET與Ajax的實現方式

2013-11-13 10:31:00  來源: .NET編程 
    Ajax 應該不是一項技術是一種思想而已跟 ASPNET 以及其它 Web 開發語言沒有什麼太大關系這裡只是談談 ASPNET 中目前使用的 Ajax 技術以及其它一些實現 Ajax 的優秀框架
    Ajax 已經很流行一陣子了現在談 Ajax 覺得有點老土目前所謂的 Web 網站基本上沒有不使用 Ajax 的就如使用 RSS 一樣就如同一個標簽貼上去就成了 Ajax 具體細節不談其目的就是讓用戶觸發一些操作的時候頁面不會全部刷新只刷新待更新的部分頁面加載數據的過程中用 Loading 的圖片來表示正在加載數據不只是看起來挺不錯也提高了用戶的訪問體驗有一種酷酷的感覺
    至於 ASPNET 中用到的 Ajax 我想大多數人使用的是 / AjaxProfessional 或者 ASPNET 中帶有的 Atlas 框架因為都用過我感覺這些都不是很好的 Ajax 解決方案
    AjaxPro 用起來不是很方便頁面需要在 Page_Load 裡面注冊類似於
    以下是引用片段
    private void Page_Load(object sender SystemEventArgs e)
    {
    AjaxProUtilityRegisterTypeForAjax(typeof(DataAccessMyAjax));
    }
    而且 ASPX 頁面要包含一個 Runat=Server 的 標記這樣 會將用到的一些通用函數以及你自定義的函數加載進來如果沒有 其實也可以手動添加就可以了但是在我以前做過的應用中時常出現的一些問題比如經常發現浏覽器狀態欄會有 js 腳本錯誤而此時你所做的 Ajax 效果會全部失效解決辦法就是把那個 Ajaxdll /AjaxProdll 給重新覆蓋一下就可以了問題的原因究竟是什麼目前還不知道
    至於 Atlas我對它的感覺其實就跟對 DataGrid 的感覺一樣這種控件的好用是好用很方便但是真正做一些 Web 應用的時候你不得不考慮到性能以及分層等各種問題我想在比較正式的 Web 應用中沒幾個人去用 DataGrid 去顯示一些數據吧建議大家盡量少用這些控件另外就是Atlas 的執行效率確實不夠理想一直在那裡 Loading等了好長時間竟然出現什麼腳本錯誤
    那還有沒有其它解決方案嗎?你可以自己寫些 Javascript 函數去實現不過我這裡推薦用 jQuery 這個 Javascript 框架從百度百科引用一段對其的介紹
    jQuery 是繼 prototype 之後又一個優秀的 Javascrīpt 框架其宗旨是——WRITE LESSDO MORE寫更少的代碼做更多的事情
    它是輕量級的 js 庫(壓縮後只有k) 這是其它的 js 庫所不及的它兼容 CSS還兼容各種浏覽器 (IE + FF + Safari + Opera +)
    jQuery 是一個快速的簡潔的 javaScript 庫使用戶能更方便地處理 HTML documentsevents實現動畫效果並且方便地為網站提供 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()
    {
    $(#Newsl(Loading News);
    $ajax({
    type:post
    url:x?act=getnews
    dataType:html
    data:
    success:function(result)
    {
    $(#Newsl(result);
    }
    });
    }
    這個函數就會先在那個 SPAN 裡面顯示Loading News通過異步調用訪問 /Ajaxaspx 這個頁面通過傳遞的 URL 參數 act=News 告訴頁面需要什麼類型的數據你可以根據不同的參數將數據通過 Ajaxaspx 直接 Write 到頁面上然後返回給上述 JS 函數呈現到頁面上就這樣簡單搞定!
    當然jQuery 裡面並不是只有這一種 Ajax 效果實現方式這裡給出一些 jQuery 的資源花上幾個小時的時間學一下很值得
    jQuery 官網
    jQuery 中文 API 文檔
    jQeury 中文入門教程
    至於其它的 Javascript 優秀框架有很多了比如 Yahoo! User Interface LibraryPrototypeRicoQooxdooDojo 等另外還有 Ajax 方面一些資源可以參考一下這裡收集的資源
From:http://tw.wingwit.com/Article/program/net/201311/13873.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.