《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于Asp.net Ajax技術的民主評議系統設計與實現
基于Asp.net Ajax技術的民主評議系統設計與實現
來源:微型機與應用2013年第10期
郭泉成, 劉 紅, 雷長海
(第二軍醫大學, 上海 200433)
摘要: Ajax技術較好地解決了傳統Web開發中數據整頁提交、系統響應時間較長的問題,使用戶操作與服務器響應異步化,可將當前Web應用中的一些服務器負擔轉移到客戶端,便于資源處理。同時,結合網上民主評議系統具體說明了Ajax技術在系統中的應用。實踐表明,使用基于Ajax的架構應用大大提高了系統的響應速度,使系統用戶具有良好的使用體驗,對各類評議系統的構建有普遍推廣價值。
關鍵詞: ASP.NET Ajax B/S 民主評議
Abstract:
Key words :

摘 要: Ajax技術較好地解決了傳統Web開發中數據整頁提交、系統響應時間較長的問題,使用戶操作與服務器響應異步化,可將當前Web應用中的一些服務器負擔轉移到客戶端,便于資源處理。同時,結合網上民主評議系統具體說明了Ajax技術在系統中的應用。實踐表明,使用基于Ajax的架構應用大大提高了系統的響應速度,使系統用戶具有良好的使用體驗,對各類評議系統的構建有普遍推廣價值。
關鍵詞: Asp.net; Ajax; B/S; 民主評議

 Ajax技術較好地解決了傳統Web開發中數據整頁提交、系統響應時間較長的問題,使用戶操作與服務器響應異步化,可將當前Web應用中的一些服務器負擔轉移到客戶端,便于資源處理。本文結合網上民主評議系統具體說明了Ajax技術在系統中的應用。實踐表明,使用基于Ajax的架構應用,大大提高了系統的響應速度,使系統用戶具有良好的使用體驗。
1 Ajax關鍵技術
 Ajax技術是當今Web開發技術熱點之一,由HTML、JavaScript 技術、DHTML和DOM組成[1-4],它使用客戶端腳本JavaScript[5],大大減少了服務器端的運算量,減輕了服務器端的壓力,使服務器資源得到更合理的分配應用。其工作原理相當于在用戶與服務器之間加了—個中間層,使用戶操作與服務器響應異步化,并非所有用戶請求都提交服務器,部分數據驗證和數據處理等是由Ajax引擎自行處理[5-6],僅特定需要從服務器讀取新數據時才由Ajax引擎向服務器提交請求。因服務器與瀏覽器之間交換的數據大量減少(大約只有原來的5%),同時很多處理工作可在發出請求的客戶端完成,所以能夠看到更快的應用結果。它實際是幾項技術按一定方式組合,同時在協同合作中發揮各自作用。其Web應用模型(異步)如圖1所示。

    與傳統的B/S交互模式相比較,使用Ajax技術主要的優勢在于:
 (1)頁面無刷新,在頁內與服務器通信,用戶體驗良好;
 (2)異步方式與服務器通信,不打斷用戶操作,響應更迅速;
 (3)部分服務器負擔轉移到客戶端,利用客戶端閑置能力處理,減輕服務器和帶寬負擔,節約空間和帶寬成本;
 (4)基于廣泛支持的標準化技術,無需下載插件或小程序;
 (5)“按需取數據”,最大程度地減少冗余請求和響應負擔;
 (6)支持第三方Ajax框架(如Jquery Ajax框架)引用,增強瀏覽器兼容性,大大減少代碼量,提高數據處理效率。
2 系統架構設計
 系統結構設計是系統設計的一項重要工作,根據民主評議系統的具體情況:參評用戶多、測評題庫數據量大、交互比較頻繁、用戶端與管理端實時查詢訪問的速度要求高,評議系統采用B/S分層設計方式,如圖2所示,采用界面層、邏輯層及數據層三層結構。

    界面層負責提供交互操作,用戶可實現數據輸入、數據獲取、信息管理、評測過程、問題反饋等,同時提供一定的安全保障,確保非共享信息的封閉性;邏輯層是界面層與數據層的之間橋梁,它響應界面層的用戶請求,執行任務并從數據層抓取數據,將必要的數據傳送給界面層;數據層定義、維護數據的完整性、安全性,負責響應邏輯層請求及數據訪問,該層通常由大型數據庫服務器實現,如Oracle、MS SQL Server等。
3 Ajax技術在民主評議系統中的應用
3.1系統模塊設計

    民主評議系統包括用戶測評管理子系統、測評系統管理子系統和統計計算管理子系統,并且包含參評人信息管理模塊、個人測評情況查詢模塊、評測類型和指標管理模塊、統計分析模塊。系統模塊設計如圖3所示。

3.2 注冊用戶管理
 Ajax的XMLHttpRequest對象提供了對HTTP協議的完全訪問,包括 POST和HEAD請求以及GET請求能力,可同步或異步返回Web服務器響應,能以文本或DOM文檔形式返回內容。因此,Ajax可實現網頁的局部更新,客戶端按需請求數據,服務器端異步處理返回數據。
    參評人員需在系統限定日期內進行網上注冊。在注冊界面,當用戶名文本框失去焦點時,系統自動向服務器請求檢查用戶名是否可用,檢查與用戶后續操作是異步的,服務器的返回信息會自動顯示在頁面顯著位置,檢查結果以“√”或“×”符號對用戶進行提示,此過程主要通過XMLHttp實現。其原理流程圖如圖4所示。

  關鍵代碼如下:
  // JavaScript Document
  var XHR;                       //定義一個全局對象
  function createXHR(){         //創建XMLHttpRequest對象
  if(window.ActiveXObject)
  { XHR=new ActiveXObject(′Microsoft.XMLHTTP′); }
                                                     //IE的低版本系類
  else if(window.XMLHttpRequest)
  {XHR=new XMLHttpRequest();}
                                  //非IE瀏覽器,但包括IE7 IE8}
    function checkname(){                                //處理方法
     var username=document.myform.user.value;
     createXHR();
     XHR.open("GET","checkname.aspx?um="+username,
              true);             //true:表異步傳輸,是關鍵所在
     XHR.onreadystatechange= ShowResult;
                         //當狀態改變時,調用ShowResult方法
     XHR.send(null);}
     function ShowResult(){                                //回調方法
     if(XHR.readyState == 4){
                                  //關于Ajax引擎對象的方法和屬性
  if(XHR.status == 200){
    document.getElementById('checkbox').innerHTML==XHR.
          responseText; }}}
3.3  個人信息與測評管理
    參評人信息管理頁面中,需要錄入個人詳細信息(包括出生日期、入黨日期),為規范格式,采用彈出式日歷選擇輸入日期。如圖5所示,Asp.net Ajax的Calendar日歷控件主要用來在頁面中提供日歷的選擇,雖現在已有很多用JavaScript寫的日歷控件,但是Canlendar控件能夠更加快速地實現這種效果,而且設置方法簡明實用。以TargetControlID指定顯示日期的控件;以CssClass屬性設置日歷的樣式;以Format屬性指定顯示日期的格式,如yy-MM—dd。用戶只能通過日歷選擇的方式向文本框寫入日期,從而保證了日期格式的正確性。Calendar控件的設置如下:

    <user_Calendar:CalendarExtender TargetControlID="birth_D" runat="server" Format="yy-MM-dd" ID="cal_D" PopupButtonID="img_D" CssClass="Date_Calendar"/>
    用戶在線評測時,需要對指定范圍的參評人員進行評測,評測題目較多。傳統方法是在完成對一個參評人所有評測題目時再進行結果提交,提交將對評測界面產生一次整體刷新,若在對某參評人的評測過程中IE意外關閉,則登錄后需對該參評人進行重新評測。應用Asp.net Ajax Control Toolkit控件,可在UpdatePanel控件中動態創建RadioButtonList控件(以單選為例),用戶完成一組題目時前臺JS對單選框進行處理并將數據異步提交服務器,回調結果由前臺處理并進行提示,表示某一測評題目是否成功提交。其實現效果如圖5所示。

3.4 總體評測情況管理
    評議系統為管理者提供用戶總體測評情況查詢瀏覽系統,在Asp.net中有很多數據展現控件,如GridView,它自帶了分頁功能,但若未禁用ViewState,則其產生的結果非常大,而且進行上下頁點擊操作時都會引起頁面回發,該過程需要與服務器進行完全交互,響應時間較長、傳輸數據量很大。基于Ajax技術的分頁可以很好地解決這些問題,Ajax將JavaScript技術和XML HttpRequest對象置于Web表單與服務器之間,當用戶進行翻頁操作時,命令數據交由特定JavaScript代碼處理并向服務器發送請求,此時用戶屏幕表單并不會閃爍、消失或延遲。請求發送的異步特定,使用戶無需等待服務器的響應便可繼續輸入數據、滾動屏幕和使用應用程序,JS腳本接收服務器返回的數據并決定如何處理數據,這樣便可以迅速更新表單顯示,使用戶感覺翻頁操作是即時完成的。
    其實現過程如下:換頁指令由JavaScript腳本截獲并異步發送Web服務器,服務器調用數據庫存儲過程得到頁面內容并轉換成JSON格式,JSON格式內容異步發回JavaScript腳本,JS腳本在瀏覽器后臺動態局部刷新用戶界面,完成換頁操作。其關鍵過程如下:
    (1)由SQL Server 2005內建ranking函數為待分頁表行生成行號,利用Row_Number()函數設計分頁存儲過程。
 (2)Web服務器中調用存儲過程讀取頁面信息。Asp.net執行數據獲取得到要訪問頁面SqlDataReader對象,由處理程序將該對象轉換成JSON格式的字符串。
 (3)Web服務器Ajax服務端實現。Web服務器在頁面事件中把Json數據傳輸到客戶端為Ajax客戶端程序提供服務。
 (4)Ajax客戶端實現。使用JQuery Ajax框架技術,客戶端JavaScript腳本完成JSON接收后,將數據顯示在Web頁面。
    本文針對網上評議系統運行過程中交互較多和讀取服務器數據量大的特點,設計并實現了基于Asp.net Ajax開發框架的民主評議系統。此技術的應用大大減少了系統對用戶交互的響應時間,使用戶感受到良好的使用體驗,同時縮短了開發時間與成本,使系統具有較強的可維護性與可擴展性。異步交互功能避免了傳統的整頁刷新方式造成的時間浪費,大大提高了系統資源利用率,使該系統在使用過程中比傳統Web實現更加高效和實用。
參考文獻
[1] GARRETT J J. Ajax: A new approach to Web applications[EB/OL].[2006-02-12].http://www.Adaptivepath.com/publications/essays/.
[2] ASLESON R, SCHUTA N T. Foundation of Ajax[M].Appress,2005.
[3] CRANE D,PASCARELLO E. Ajax in action[M].中文版.李錕,譯.北京:人民郵電出版社,2006.
[4] ASLESON R,SCHUTTA N T.Ajax基礎教程[M].金靈,等譯.北京:人民郵電出版社,2005.
[5] 陳黎.ASP.NET Ajax程序設計(第1卷:服務器端)[M].北京:人民郵電出版社,2007.
[6] 黃大偉.ASP.NET Ajax深度剖析范例集[M].北京:中國青年出版社,2007.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久精品国产亚洲精品| 性感少妇一区| 亚洲一区二区三区四区中文| 亚洲激情女人| 在线观看日韩国产| 狠狠入ady亚洲精品经典电影| 国产精品毛片a∨一区二区三区| 欧美成人激情在线| 久久综合九色九九| 久久综合网hezyo| 久久偷看各类wc女厕嘘嘘偷窃| 欧美在线观看www| 久久超碰97中文字幕| 午夜亚洲精品| 欧美专区亚洲专区| 久久国产精彩视频| 久久精品一二三| 久久婷婷人人澡人人喊人人爽| 久久成人免费日本黄色| 欧美一区在线直播| 欧美在线视频观看| 久久精品麻豆| 久久伊人亚洲| 欧美成人精品1314www| 欧美电影美腿模特1979在线看| 欧美激情一二三区| 欧美日韩麻豆| 欧美日韩三级在线| 欧美天堂亚洲电影院在线播放| 欧美视频日韩| 国产麻豆午夜三级精品| 国产亚洲亚洲| 在线日韩成人| 亚洲清纯自拍| 一区二区三区四区国产| 亚洲尤物视频在线| 欧美一区二区三区在线视频| 91久久精品久久国产性色也91| 亚洲人成亚洲人成在线观看图片 | 国产精品亚洲人在线观看| 国产精品中文在线| 伊人一区二区三区久久精品| 亚洲人成在线观看| 亚洲无线一线二线三线区别av| 午夜精品久久久久久久| 亚洲国产91色在线| 一区二区日本视频| 欧美中文字幕精品| 欧美成人一区二区三区| 欧美午夜免费| 国产一区二区三区无遮挡| 亚洲国产精品久久91精品| 一区二区三区精密机械公司 | 午夜国产不卡在线观看视频| 久久精品日产第一区二区三区| 亚洲免费观看高清完整版在线观看| 亚洲亚洲精品在线观看| 久久理论片午夜琪琪电影网| 欧美激情1区2区| 国产精品欧美久久久久无广告| 永久免费毛片在线播放不卡| 99国产精品久久久久久久久久| 午夜老司机精品| 亚洲毛片一区二区| 久久www成人_看片免费不卡| 欧美成人资源网| 国产麻豆精品在线观看| 亚洲人成艺术| 久久激五月天综合精品| 在线视频中文亚洲| 久久另类ts人妖一区二区| 欧美丝袜第一区| 亚洲第一黄网| 香蕉久久精品日日躁夜夜躁| 99综合精品| 久久免费黄色| 国产精品久久久久永久免费观看| 国产亚洲综合精品| 夜夜嗨av一区二区三区中文字幕| 亚洲第一视频| 欧美亚洲免费电影| 欧美日韩亚洲91| 一区精品在线播放| 亚洲精品综合| 亚洲精品国产无天堂网2021| 欧美一区网站| 国产精品久久久久aaaa| 亚洲人成小说网站色在线| 久久精品国产免费看久久精品| 亚洲欧美精品| 欧美日韩国产成人在线免费| 精品二区视频| 欧美一级成年大片在线观看| 亚洲女同在线| 欧美日韩精品三区| 亚洲福利小视频| 久久激情视频免费观看| 欧美一区二区三区免费在线看| 欧美日韩一区综合| 亚洲精品中文字幕女同| 亚洲日本精品国产第一区| 久久久噜噜噜| 国产亚洲网站| 性欧美18~19sex高清播放| 亚洲一区二区视频| 欧美日韩高清不卡| 亚洲精品1区| 亚洲欧洲精品天堂一级| 久久综合色综合88| 影音先锋中文字幕一区| 久久精彩免费视频| 久久久亚洲人| 黑人巨大精品欧美一区二区| 欧美一区二区三区视频在线观看| 小辣椒精品导航| 国产精品尤物| 欧美一区二区免费观在线| 欧美在线亚洲在线| 国产日韩精品一区观看| 亚洲女优在线| 久久不射网站| 国产日韩欧美中文| 午夜精品视频网站| 欧美中文字幕视频在线观看| 国产视频在线一区二区| 性欧美大战久久久久久久免费观看| 午夜精品久久久久久久久久久久久| 国产精品久久久久久av下载红粉| 一本久道久久久| 亚洲小说春色综合另类电影| 欧美午夜www高清视频| 在线视频亚洲| 亚洲免费视频观看| 国产欧美一区二区白浆黑人| 午夜欧美精品| 久久久久欧美精品| 亚洲第一成人在线| 99视频一区二区三区| 欧美日韩午夜视频在线观看| 亚洲视频播放| 久久www成人_看片免费不卡| 激情懂色av一区av二区av| 亚洲高清毛片| 欧美成人一区二区三区片免费 | 亚洲精选成人| 亚洲欧美三级在线| 国产区亚洲区欧美区| 久久超碰97人人做人人爱| 你懂的视频欧美| 亚洲美女淫视频| 午夜精品区一区二区三| 国产主播在线一区| 91久久精品国产91久久性色| 欧美激情综合| 亚洲网站在线观看| 久久久久综合网| 亚洲欧洲精品成人久久奇米网| 亚洲与欧洲av电影| 国产一区二区福利| 亚洲精品乱码久久久久久| 欧美日韩一视频区二区| 欧美一二三区在线观看| 欧美freesex交免费视频| 亚洲美女诱惑| 久久av一区二区三区| 亚洲精美视频| 欧美在线三级| 亚洲经典自拍| 欧美伊人影院| 最近中文字幕日韩精品 | 亚洲片在线资源| 国产精品成人一区二区三区夜夜夜| 午夜日韩在线观看| 欧美激情麻豆| 亚洲欧美精品在线| 欧美精品首页| 欧美一区二区三区久久精品茉莉花 | 亚洲影院色在线观看免费| 国产日韩精品一区| 99re热精品| 国内精品久久久久久久影视蜜臀| 一本色道久久综合| 国内激情久久| 亚洲午夜在线视频| 在线日韩中文| 欧美在线国产| 日韩天堂av| 麻豆freexxxx性91精品| 亚洲综合色激情五月| 欧美激情第4页| 午夜精品在线视频| 欧美日韩一区二区三区在线看| 久久国产精品一区二区三区| 国产精品国产三级国产专播精品人| 亚洲高清一区二| 国产日韩欧美在线看| 亚洲综合日韩在线| 亚洲免费av电影| 久久久久成人精品| 亚洲午夜久久久久久尤物|