技巧和訣竅:在ASP.NET AJAX UpdatePanel中實現對後退/前進按鈕的支援

  • 23519
  • 0
  • 2011-07-10

摘要:技巧和訣竅:在ASP.NET AJAX UpdatePanel中實現對後退/前進按鈕的支援

【原文位址】Tip/Trick: Enabling Back/Forward-Button Support for ASP.NET AJAX UpdatePanel
【原文發表日期】Thursday, September 14, 2006 12:25 PM

Nikhil最近寫了一個好文章,是關於一個叫做HistoryControl的支援AJAX的新ASP.NET 控制項的。把它加到頁面上後,允許開發人員用程式設計手段往瀏覽器的歷史記錄裡添加邏輯檢視(logical view)。這將使得支援AJAX的網站更加有用,而且遵循傳統web應用所遵循的標準的前進/後退的導覽慣例。

譬如,通過Nikhil的HistoryControl,開發人員可以編寫類似下面這樣的編碼來回應一個列表的選擇變動,並且把列表選擇當作標籤添加到瀏覽器的歷史記錄中去:

private void ContentList_SelectedIndexChanged(object sender, EventArgs e) {
   history.AddEntry(contentList.SelectedIndex.ToString()
;
}

 

你一旦往歷史控制項裡添加新項後,瀏覽器中的後退/前進按鈕就被啟動了。Nikhil的歷史控制項提供了一個Navigate事件,當你在瀏覽器裡按後退/前進按鈕時,這個事件就會被觸發,同時它在事件處理函數的參數裡提供了早先在把邏輯檢視添加進瀏覽器歷史記錄時所用的那個標籤。然後你就可以使用這個標籤來把頁面回復到跟這個歷史記錄相對應的頁面狀態了:

 

private void HistoryControl_Navigate(object sender, HistoryEventArgs e) {

 

    int selectedIndex 0;

    if (String.IsNullOrEmpty(e.Identifier) == false) {
        selectedIndex 
Int32.Parse(e.Identifier);
    
}

    // Update the content being displayed in the page
    
contentList.SelectedIndex selectedIndex;

    // Mark the update panels as needing an update
    
mainUpdatePanel.Update();
}

 

這樣你的用戶在使用AJAX應用時也能使用前進/後退按鈕來作導覽了。你可以在這裡下載Nikhil的歷史控制項的編碼,開始用在你的專案裡

希望本文對你有所幫助,

Scott

(思歸譯)