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

來源:互聯網
上載者:User

【原文地址】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

(思歸譯)

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.