靜態(tài)頁中利用AJAX.NET實現無刷新頁面
2006/10/17 9:20:55

一、 導言

  我們知道,ASP.net應用程序事實是在服務器上運行的,用戶的請求要不斷地送往遠程的服務器,服務器執(zhí)行完本地的程序后把重新裝載頁面再發(fā)送客戶端。所以就出現了不斷刷新的問題,頁面不斷閃爍。用戶不厭其煩,運行效率也大大4降低,服務器的負荷加重。事實,客戶端的請求在某一時刻只是通過向 Web 服務器提交新的請求來檢索對用戶輸入所做的響應。這種情況下,開發(fā)人員可以使用 JavaScript 在客戶端上加載所有響應,從而提供更好的用戶體驗。遺憾的是,在很多情況下,不必將所有響應都返回或加載到 JavaScript 要更好,只返回所要的結果,執(zhí)行過程仍然在服務器上運行。AJAX 提供了一種新的中間選擇,能夠在維持及時響應和靈活性的同時利用基于服務器的應用程序。

  AJAX依靠服務器作為中介來分發(fā)和處理請求。為了完成這項工作,.net封裝類依賴于客戶端的請求對象,而XMLHttpRequest對象被大部分的瀏覽器支持,因此使用這個對象是一個不錯的解決方案。

  因此,為了實現不刷新的頁面,我們的客戶端頁面做成靜態(tài)頁面。靜態(tài)頁面通過Ajax.net調用.net類的方法。這是一種最簡潔又高效的解決方案。

  二、 如何應用Ajax.net

  1.在工程中引入Ajax.dll文件。

  Ajax.dll是微軟開發(fā)的應用在ASP.NET上的一個類庫文件。該類庫封裝了XMLHttpRequest請求服務器的實現細節(jié),是Ajax知識應用在asp.net平臺上的解決技術。在.net項目中,添加上對其的引用,然后就可以開始使用ajax.dll封裝進行開發(fā)了。

  2.在web.config中設置HttpHandle

  為了使其可以工作,第一步必須做的是在web.config中安裝設置封裝包的HttpHandle,不去詳細解釋HttpHandle是如何工作的,我們只需要了解他們可以用來處理asp.net請求。例如,所有的目的為*.aspx的請求可以通過System.Web.UI.PageHandlerFactory類發(fā)送到控制句柄,簡單的說,我們把任何向ajax/*.ashx的請求發(fā)送到Ajax.PageHandlerFactory的請求處理句柄。

  3.編寫服務端函數

  現在我們編寫服務器端函數,他們可以被客戶端異步的調用。盡管現在還不能支持全部的返回類型,我們仍堅持服務器端添加功能。在codebehind文件的頁面類里,添加下面的方法:

[Ajax.AjaxMethod()]
public int ServerSideAdd(int firstNumber, int secondNumber)
{
 return firstNumber + secondNumber;
}

  注意,這個函數有Ajax.AjaxMethod()定制屬性,屬性服務會告知ajax封裝類為此方法創(chuàng)建一個javascript代理,這樣才能被客戶端調用。

  三、 應用實例

  我們的應用程序主要是對數據庫的操作,數據庫的數據通過頁面的表格呈現,頁面完成增加、刪除、更新、查詢等功能。更主要的是它是一個通用的并且實現方法極為巧妙的例子。任何頁面沒有刷新現象并且代碼十分精巧。下面的就通過Ajax技術實現這些功能。

  ·建立工程HttpForAjax,并在您的工程中引入Ajax.dll文件。

  ·在您的Web.config中加上。

<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
</httpHandlers>

  ·建立您的HTML頁。

  1. 向工程里添加HTML頁InfoClass.htm。該頁面完成查詢、常用工具及數據展現等功能。

  頁面主要放了四個DIV,一個是樹" divTree "。一個是查詢區(qū)叫"divFindTable"的,一個是工具欄叫
"divToolbar"的,一個是數據區(qū)叫"divDataGrid"的。

  2. 在 <HEAD>與</HEAD>間加入一些引用如下:

<script src=js/Xml.js></script>
<link href="css/myStyle.css" type="text/css" rel="stylesheet">
<script src="/HttpForAjax/ajax/common.ashx" type="text/javascript"></scri

下一頁
返回列表
返回首頁 主站蜘蛛池模板: 卡1卡2卡3卡4卡5免费视频| 国模吧一区二区三区精品视频 | 中文字幕天天干| 大桥久未无码吹潮在线观看| 中文字幕在线永久| 日韩人妻精品一区二区三区视频| 亚洲国产精品久久久久秋霞影院| 理论片福利理论电影| 又硬又粗又长又爽免费看| 韩国v欧美v亚洲v日本v| 国产欧美一区二区精品久久久| 8x8x在线观看视频高清视频| 天天躁天天碰天天看| 三上悠亚日韩精品一区在线| 无遮掩60分钟从头啪到尾| 久久精品成人免费观看| 欧美亚洲桃花综合| 亚洲理论电影在线观看| 狠狠躁日日躁夜夜躁2022麻豆| 北条麻妃在线一区二区| 老阿姨哔哩哔哩b站肉片茄子芒果 老阿姨哔哩哔哩b站肉片茄子芒果 | 亚洲免费成人网| 波多野结衣厨房被强电影| 免费播放美女一级毛片| 美女洗澡一级毛片| 国产不卡在线视频| 香蕉尹人在线观看免费下载| 国产欧美综合精品一区二区| 18一20岁一级毛片| 国偷自产视频一区二区久| a级日本理论片在线播放| 少妇人妻偷人精品视频| 中文在线天堂资源www| 无码丰满少妇2在线观看| 久久久精品人妻一区亚美研究所| 日韩精品福利在线| 亚洲Av人人澡人人爽人人夜夜| 欧美亚洲另类视频| 亚洲成av人影片在线观看| 水蜜桃无码视频在线观看| 亚洲美女视频免费|