2013-01-15 42 views
0

我有一個網站(ASP.NET 4.0 C#),它每次訪問(基本上是一個儀表板)加載大量的數據的主頁。這可能(取決於用戶)需要一段時間才能加載,因此我將每個部分分解爲更新面板並分別加載它們,以便用戶可以看到它加載,而不僅僅是認爲頁面已凍結。然而,這提出了新的問題,因爲如果用戶不想等待並點擊導航菜單(或鏈接)到不同的頁面,則他們必須等到頁面完全加載後再繼續前進。取消請求鏈接點擊asp.net

有沒有辦法阻止頁面請求加載數據,如果另一個鏈接被點擊,只是處理該鏈接?

更多信息 - 我正在使用導航菜單所在的母版頁,以及主頁上的ajax更新面板。

回答

0
function cancelPostBack() { 
    var prm = Sys.WebForms.PageRequestManager.getInstance(); 
    if (prm.get_isInAsyncPostBack()) { 
    prm.abortPostBack(); 
    } 
} 

將此函數附加到導航項的onclick事件,以確保在繼續導航之前取消任何掛起的請求。

+0

謝謝你,我知道我在這裏有點厚,但是當NavigationMenu_MenuItemClick事件被主頁面上的一些C#代碼佔用時,如何將Javascript導入navigationmenu onclick事件? –

+0

這頁在這裏http://stackoverflow.com/questions/9928488/jquery-click-method-on-asp-net-menu-item提供關於如何去做這件事的建議,客戶端功能將首先發射發起服務器端事件。 – James