• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

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

    發布: 2008-4-09 11:02 | 作者: ASP.NET 2.0 Ajax | 來源: 希賽網 | 查看: 116次 | 進入軟件測試論壇討論

    領測軟件測試網  ——此文章摘自《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.kjueaiud.com/

    TAG: ajax AJAX Ajax

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>