2009-09-09 32 views
0

我有一個附加的js的OnClientClick功能的ImageButton的:ASP.NET的OnClientClick C#

deleteButton = new ImageButton(); 
deleteButton.ID = "deleteRiskButton" + planRisk.Id; 
deleteButton.ImageUrl = "../../Images/deleteButton.gif"; 
deleteButton.Click += new ImageClickEventHandler(deleteButton_Click); 
deleteButton.OnClientClick = "removeRowAfterDeletion('" + deleteButton.ID + "')"; 

這裏面的JavaScript函數我有一個對話框確保旨在刪除該項目的用戶。

function removeRowAfterDeletion(buttonId) 
    { 
     var deleteConfirmationDialog = confirm("Are you sure you want to remove this risk from your plan?.") 
     return deleteConfirmationDialog; 
    } 

我的印象是,如果onclientclick函數返回false,則不會發生回發。但是,即使我單擊取消deleteButton_Click c#函數被調用。

任何想法是什麼問題?

+0

現在,你有代碼的工作,我想知道,你爲什麼需要通過按鈕的ID?也許你想進一步擴展「removeRowAfterDeletion」的功能。你總是可以使用「return removeRowAfterDeletion(this);」傳入按鈕的實例。 – 2009-09-09 13:48:44

回答

6

試試這個:

deleteButton.OnClientClick = "return removeRowAfterDeletion('" + deleteButton.ClientID + "')"; 
+0

它確實只是ClientID – 2009-09-09 13:40:40

5
deleteButton.OnClientClick = "return removeRowAfterDeletion('" + deleteButton.ID + "')"; 

試試這個。

+0

我沒有複製你的文章:-) – 2009-09-09 13:37:29

+3

使用「deleteButton.ClientID」將是一個更好的選擇。 – 2009-09-09 13:38:01