【原文地址】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
標籤:ASP.NET, .NET, Atlas, Tips and Tricks
(思歸譯)