Ajax 應該不是一項技術
是一種思想而已
跟 ASP
NET 以及其它 Web 開發語言沒有什麼太大關系
這裡只是談談 ASP
NET 中目前使用的 Ajax 技術以及其它一些實現 Ajax 的優秀框架
Ajax 已經很流行一陣子了
現在談 Ajax 覺得有點老土
目前所謂的 Web
網站
基本上沒有不使用 Ajax 的
就如使用 RSS 一樣
就如同一個標簽
貼上去就成了
Ajax 具體細節不談
其目的就是讓用戶觸發一些操作的時候
頁面不會全部刷新
只刷新待更新的
部分頁面
加載數據的過程中
用 Loading 的圖片來表示正在加載數據
不只是看起來挺不錯
也提高了用戶的訪問體驗
有一種酷酷的感覺
至於 ASP
NET 中用到的 Ajax
我想大多數人使用的是 / AjaxProfessional 或者 ASP
NET
中帶有的 Atlas 框架
因為都用過
我感覺這些都不是很好的 Ajax 解決方案
AjaxPro 用起來不是很方便
頁面需要在 Page_Load 裡面注冊
類似於
以下是引用片段
private void Page_Load(object sender
System
EventArgs e)
{
AjaxPro
Utility
RegisterTypeForAjax(typeof(DataAccess
MyAjax));
}
而且 ASPX 頁面要包含一個 Runat=Server 的 標記
這樣 會將用到的一些通用函數以及你自定義的函數加載進來
如果沒有 其實也可以
手動添加就可以了
但是
在我以前做過的應用中
時常出現的一些問題
比如
經常發現浏覽器狀態欄會有 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 庫(壓縮後只有
k)
這是其它的 js 庫所不及的
它兼容 CSS
還兼容各種浏覽器 (IE
+
FF
+
Safari
+
Opera
+)
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
l(
Loading News
);
$
ajax({
type:
post
url:x?act=getnews
dataType:
html
data:
success:function(result)
{
$(
#News
l(result);
}
});
}
這個函數就會先在那個 SPAN 裡面顯示
Loading News
通過異步調用
訪問 /Ajax
aspx 這個頁面
通過傳遞的 URL 參數 act=News 告訴頁面需要什麼類型的數據
你可以根據不同的參數
將數據通過 Ajax
aspx 直接 Write 到頁面上
然後返回給上述 JS 函數
呈現到頁面上
就這樣簡單搞定!
當然
jQuery 裡面並不是只有這一種 Ajax 效果實現方式
這裡給出一些 jQuery 的資源
花上幾個小時的時間學一下
很值得
jQuery 官網
jQuery 中文 API 文檔
jQeury 中文入門教程
至於其它的 Javascript 優秀框架有很多了
比如 Yahoo! User Interface Library
Prototype
Rico
Qooxdoo
Dojo 等
另外還有 Ajax 方面一些資源可以參考一下這裡收集的資源
From:http://tw.wingwit.com/Article/program/net/201311/13873.html