靜態(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人影片在线观看|
水蜜桃无码视频在线观看|
亚洲美女视频免费|