<asp:Button ... OnClientClick="disableButton(this);" />
<script type="text/javascript">
function disableButton(button)
{
//need to delay a few ms so that the button posts back before being disabled
var buttonToDisable = button;
setTimeout("reallyDisableButton()"), 2);
}
function reallyDisableButton()
{
buttonToDisable.disabled = true;
}
</script>
Я предполагаю, что ваша проблема в том, что люди нажав на кнопку несколько раз (потому что страница это занять некоторое время для загрузки), таким образом, сбрасывая событие несколько раз, и вы только хотите, чтобы быть в состоянии сделать это один раз. Это отключит кнопку после того, как она вернет сообщение, предотвращая случайную отправку нескольких одновременных обратных передач.
Пожалуйста, сделайте это на стороне клиента ** только **. – gdoron
Измените свой вопрос, чтобы быть понятным, что именно вы хотите. Код, который вы разместили здесь, действительно отключит кнопку при возврате кода вместе с любым другим кодом, запущенным в этом методе. –
Сделайте это с помощью JavaScript - это намного проще и основано на работе клиента, а не на сервере (что, если пользователи 1000/10000/100000 выполнили одно и то же действие?) –