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.ltesting.net