2009-09-09 36 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