2009-09-09 4 views
0

У меня есть ImageButton с функцией OnClientClick Js прикрепленной: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, то postback не произойдет. Однако, даже если я нажимаю кнопку cancel, вызывается функция deleteButton_Click C#.

Любая идея, в чем проблема?

+0

Теперь вы получили код работает, я задаюсь вопросом, почему вы должны передать идентификатор кнопки? Возможно, вы хотите расширить функцию для «removeRowAfterDeletion» далее. Вы всегда можете использовать «return removeRowAfterDeletion (this)»; для передачи в экземпляр кнопки. –

ответ

6

попробовать это:

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

Это действительно просто идентификатор ClientID –

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

Попробуйте это.

+0

Я не копировал ваше сообщение :-) –

+3

Использование «deleteButton.ClientID» будет лучше. –