вы пробовали простой javascript?
onclick='return confirm("Are you sure you would like to delete this item?");'
Вы добавили бы это при добавлении кнопки следующим образом:
Button edya = new Button();
edya.Attributes.Add("onclick","return confirm(\"Are you sure you would like to delete this item?\");");
//... set other fields and add to page
В качестве альтернативы вы можете использовать JQuery :
eyda.CssClass = "confirm"; //When adding button on server side
Затем на стороне клиента добавьте следующий javascript (конечно, также добавив библиотеку jquery).
$(document).ready(function() {
$('.confirm').click(function() {
if (!confirm("Are you sure etc?")) {
return false; //prevent button event propogating
}
});
});
Если вы хотите стать действительно умным и добавить больше информации ...
eyda.CssClass = "confirm"; //When adding button on server side
eyda.Attributes.Add("SomeProperty","Some value, specific to this button");
$(document).ready(function() {
$('.confirm').click(function() {
var someValue= $(this).attr("SomeProperty");
if (!confirm("Are you sure you want to delete " + someValue)) {
return false; //prevent button event propogating
}
});
});
ОБНОВЛЕНИЕ: Изменить фоновое изображение следующим образом ...
eyda.CssClass = "confirm"; //When adding button on server side
стилевой
.confirm {
background-image: url('Images/ClickMe.gif');
background-repeat:no-repeat;
}
.clicked {
background-image: url('Images/Clicked.gif');
}
Javascript:
$(document).ready(function() {
$('.confirm').click(function() {
if (!confirm("Are you sure etc?")) {
$(this).addClass("clicked");
return false; //prevent button event propogating
}
//Not meaningful to change style here as a postback is about to occur...
//$(this).addClass("clicked");
});
});