2010-05-20 34 views
3

我在更新面板中有一個gridview,並使用jQuery對話框添加條目。用jQuery觸發點擊代碼隱藏功能在1.4中不工作 - 在1.3.2中工作正常

該對話框調用添加條目的AJAX/JSON函數。在該功能的成功,我有jQuery的觸發一個按鈕,點擊一個隱藏按鈕

... 
     success: function(msg) { 
      $("[id$='_btnUpdateGrid']").trigger('click'); 
      $("#new_dialog").dialog('close'); 
     }, 
    ... 

應在代碼擊中的事件處理程序背後更新數據源並刷新GridView的。

<asp:Button ID="btnUpdateGrid" runat="server" OnClick="btnUpdateGrid_Click" 
Text=" " Width="1px" Height="1px" Style="background-color:#F5F3E5; border:none;" /> 

這在1.3.2中工作得很好。已更新至1.4.1,不再觸及代碼隱藏。 AJAX仍然有效,但我必須手動刷新頁面才能更新網格。另外,我可以打客戶端事件處理程序(例如OnClientClick =「alert('hello')」),所以我知道點擊仍然發生,而不是代碼隱藏事件處理程序。這就像jquery以某種方式阻止了現在這樣做的頁面。我已通過更改腳本參考路徑中的版本號並查看功能更改來驗證此情況。

這是一個錯誤還是有另一種方式我現在應該這樣做?

+0

是否在UpdatePanel刷新後重新綁定按鈕? UpdatePanels是陰險的,將解除你的事件。 – Jason 2010-05-20 22:09:40

+0

賈森 - 我知道你在說什麼,但在這種情況下,我不認爲這是必要的。我不需要爲1.3.2。 – HighHat 2010-05-20 22:29:57

回答

0

原來,這只是順序。不知道爲什麼1.3不介意順序,但這就是它所需要的。

... 
    success: function(msg) { 
     $("#new_dialog").dialog('close'); 
     $("[id$='_btnUpdateGrid']").trigger('click'); 
    }, 
... 

工作正常。

0

您可以嘗試將ID更改爲ID,反之亦然。這可能是一個區分大小寫的標識符問題。

+0

感謝您的輸入,但我懷疑它 - 我已經試過只用一個類選擇器,因爲在$(「。btnUpdateGrid」)中觸發('click');它仍然沒有工作在1.4 – HighHat 2010-05-20 21:54:26

0

也許嘗試使用JavaScript將事件處理程序綁定到按鈕,而不是在HTML中使用onClick屬性。 jQuery的讓你做的是使用實時事件綁定:

$("[id$='_btnUpdateGrid']").live("click", btnUpdateGrid_Click);

我不知道會做任何事情來解決這個問題,但它是值得一試。

+0

這完全沒有用,對不起。 – HighHat 2010-05-21 18:18:48