ASP.NET 2.0 Ajax:將表示層完全放到客戶端

發表于:2008-04-09來源:作者:點擊數: 標簽:AjaxAJAXajax
——此文章摘自《ASP.NET AJAX程序設計:第II卷(客戶端)》定價:55元 特價:41.25元 購買 ASP.NET AJAX客戶端編程模型一個最主要的設計理念就是將表示層完全放到客戶端,也就是除了頁面加載這一次HTTP響應之外,后續的HTTP響應中都將只包含純粹的數據,至于
 ——此文章摘自《ASP.NET AJAX程序設計:第II卷(客戶端)》定價:55元 特價:41.25元 購買>>

  ASP.NET AJAX客戶端編程模型一個最主要的設計理念就是將表示層完全放到客戶端,也就是除了頁面加載這一次HTTP響應之外,后續的HTTP響應中都將只包含純粹的數據,至于這些數據將顯示成一個列表還是一段文本,或是其他什么形式,則全由客戶端決定。

  ASP.NET AJAX的客戶端編程模型為什么要這樣設計?我們從對比某個包含了提供分頁功能的數據表格頁面在傳統的ASP.NET編程模型、ASP.NET AJAX服務器端編程模型和ASP.NET AJAX客戶端編程模型中的實現方式開始講起。

  傳統的ASP.NET編程模型

  在傳統的ASP.NET編程模型中,實現這個數據表格頁面是我們非常熟悉的。一般情況下,GridView(對于ASP.NET 1.x來講,是DataGrid)將是一個非常好的選擇。這樣,客戶端和服務器端的模型將如圖0-1所示。


圖0-1 傳統的ASP.NET編程模型

  從圖0-1中可以看到,在我們熟悉的傳統ASP.NET編程模型中,客戶端非常地“瘦”,不過是一段普通的 HTML代碼而已,用戶的每一次操作都將導致瀏覽器中的所有內容刷新一遍。而服務器端則非常地“胖”,它將負責根據客戶端的請求得到數據,并生成包括數據和表現內容的完整一頁發送給客戶端。

  在我們的數據表格場景中,若用戶點擊了數據表格上的“下一頁”按鈕,則客戶端將僅僅把“下一頁”這個信息告訴服務器。然后,服務器根據當前的上下文(當前的頁碼)計算出下一頁數據在整個數據集合中的位置,并從數據庫中得到這一段數據,隨后使用數據網格控件(GridView或DataGrid)將其填充到一個HTML

標簽中,同時還重新生成了頁面中其他內容,例如頁眉、頁腳、導航欄、菜單等,最后將這個全新頁面的完整HTML代碼(即從< html>到)都發送回客戶端。

  ASP.NET AJAX服務器端編程模型

  若使用ASP.NET AJAX服務器端的UpdatePanel控件將這個數據表格包圍起來,讓頁面擁有“異步回送、局部更新”的Ajax特性,則客戶端和服務器端的模型將如圖0-2所示。


圖0-2 使用UpdatePanel的ASP.NET AJAX服務器端編程模型

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97