AJAX使用技巧:如何處理書簽和翻頁按扭(2)_.Net教程
推薦:使用ASP.NET AJAX框架擴展HTML Map控件【摘要】在本文中,我將向你展示如何使用ASP.NET AJAX框架對添加可點擊的熱點的HTML Map控件進行擴展。經(jīng)擴展后,當我們的鼠標移動到這些熱點上后,即彈出關(guān)于這些熱點的詳細信息;但是,這些詳
然后,程序員使用 dhtmlHistory.addListener() 方法訂閱歷史瀏覽事件的改變。這個方法使用了一個JavaScript的回調(diào)函數(shù),當記錄歷史瀏覽事件發(fā)生時這個函數(shù)接收兩個參數(shù)。網(wǎng)頁的新地址和任何的歷史數(shù)據(jù)都應該關(guān)聯(lián)到這個事件:
| 以下為引用的內(nèi)容: window.onload = initialize; function initialize() { // initialize the DHTML History // framework dhtmlHistory.initialize(); // subscribe to DHTML history change // events dhtmlHistory.initialize(); |
historyChange() 方法很直觀,當用戶瀏覽到一個新的網(wǎng)頁時使用一個方法接收 newLocation ,同時其他的 historyData 可以選擇附加到這個事件上:
| 以下為引用的內(nèi)容: /** Our callback to receive history change events. */ function historyChange(newLocation, historyData) { debug("A history change has occurred: " "newLocation=" newLocation ", historyData=" historyData, true); } |
上面用到的Debug() 是一個工具方法,用來簡單的把消息打印到網(wǎng)頁上。第二個參數(shù)是Boolean型的,如果設(shè)置為真,在新的消息打印的時候?qū)宄瓉淼男畔ⅰ?/p>
Add() 方法。增加一個包含新地址的歷史事件,比如:“edit:SomePage”,同時也提供了和事件一起存儲的可選 historyDate 值。
| 以下為引用的內(nèi)容: window.onload = initialize; function initialize() { // initialize the DHTML History // framework dhtmlHistory.initialize(); // subscribe to DHTML history change // events dhtmlHistory.initialize(); // if this is the first time we have // loaded the page... if (dhtmlHistory.isFirstLoad()) { debug("Adding values to browser " "history", false); // start adding history dhtmlHistory.add("helloworld", "Hello World Data"); dhtmlHistory.add("foobar", 33); dhtmlHistory.add("boobah", true); var complexObject = new Object(); complexObject.value1 = "This is the first value"; complexObject.value2 = "This is the second value"; complexObject.value3 = new Array(); complexObject.value3 = new Array(); complexObject.value3[1] = ¡°array 2¡±; dhtmlHistory.add("complexObject", complexObject); |
在add()執(zhí)行后的同時,新的地址作為一個鏈接地址將顯示在瀏覽器的URL地址欄中。比如:在AJAX網(wǎng)頁中當前地址是:http://codinginparadise.org/my_ajax_app ,執(zhí)行完: dhtmlHistory.add(“helloworld”,”Hello World Data”)后用戶將會在瀏覽器URL地址欄中看到如下的地址: http://codinginparadise.org/my_ajax_app#helloworld
這是用戶可以給這個頁面做收藏書簽,如果用戶后來用到這個書簽的時候,AJAX應用程序可以讀取到:#helloworld值并用它來初始化網(wǎng)頁。RSH框架透明的對URL地址值進行編碼和解碼。
historyData 在保存比較復雜狀態(tài)的時候很有用處。這是一個可選的值,他可以是JavaScript的任何類型,比如:數(shù)字,字符串,對象等。使用這個功能的一個例子是在一個網(wǎng)頁字符編輯器中,如果用戶離開當前網(wǎng)頁。當用戶回退時,瀏覽器將會把對象返回給歷史瀏覽變動監(jiān)聽器。
開發(fā)者可以給historyData提供帶有嵌套對象和用數(shù)組表示的復雜JavaScript對象。然而,DOM對象和瀏覽器支持的腳本對象XMLHttpRequest,并不保存。注意:historyData 并不隨書簽一起持續(xù)化,當瀏覽器關(guān)閉,瀏覽器緩存被清除和用戶清除歷史記錄的時候,他也就消失了。
分享:ASP.NET調(diào)用oracle存儲過程實現(xiàn)快速分頁《使用 ADO.NET 訪問 Oracle 9i 存儲過程》見下面的介紹(如果對這個不怎么懂的,還是先看看下面文章) http://www.microsoft.com/china/MSDN/library/data/dataAccess/DMSDNorsps.mspx 包
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實例(可帶附件)
- js實現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進度條的實現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現(xiàn)分頁示例代碼
- 相關(guān)鏈接:
- 教程說明:
.Net教程-AJAX使用技巧:如何處理書簽和翻頁按扭(2)
。