2009-11-27 68 views
0

我有一個ajax手風琴,每個窗格包含一個updatepanel(動態創建)。我想在點擊窗格標題時刷新updatepanels,但沒有點擊事件。如何獲得ajax手風琴的點擊事件? asp.net

我可以在標題中彈出一個按鈕,並使用scriptmanager註冊爲異步觸發器,但我不想要一個按鈕,我希望整個標題都是觸發器。

我看不到將div或標籤設置爲觸發器的方法,因爲它們沒有服務器端單擊事件。有其他方式可以做到嗎?

回答

1

使用jQuery。

的語法是那麼容易,因爲以下幾點:

$('#myHeading').click(function(){ 
    // Your code here 
}); 

有時與ASP.NET我有,因爲ASP.NET爲你的元素創建很長的半隨機的客戶方ID的使用通配符ID匹配。你會做類似如下:

$('[id*="myHeading"]').click(function(){ 
    // Your code here 
}); 

本質上,你可以選擇任何東西在DOM上,並附加一個事件處理程序與jQuery。有時你必須對選擇器有創意。

重要提示:如果您使用的是更新面板,並且您希望監控點擊的標題位於該面板內,則需要通過以下方式將這些事件處理程序重新綁定到要在面板加載/重新加載後選擇的元素阿賈克斯。這可以使用以下代碼來實現:

var prm = Sys.WebForms.PageRequestManager.getInstance(); 

prm.add_pageLoaded(panelLoaded); 

function panelLoaded(sender, args){ 

    $('[id*="myHeading"]').click(function(){ 
     // Do something after there is a click 
    }); 

} 
相關問題