У меня есть несколько средств управления, которые наследовались ASP.NET buttons
и используйте onserverclick
.
Если пользователь нажимает дважды, кнопка запускает два серверных события. Как я могу предотвратить это?
Я пытался установить this.disabled='true'
после щелчка (в onclick
атрибут) с помощью JavaScript, но это блокирует первую обратную передачу также.
Посмотрите этот пример для отключения управления на обратной передаче. Это должно помочь Вам сделать то, чего Вы пытаетесь достигнуть.
http://encosia.com/2007/04/17/disable-a-button-control-during-postback/
Вы не обязательно хотите показать кнопку, отключенную на обратной передаче. Вы хотите удостовериться, что они случайно не отправляют дважды. Так отключение или сокрытие кнопки в результате действия серверной стороны являются уже слишком поздними в игре. Этой точкой 2-й запрос уже находится на, он - путь. Необходимо или сделать это с JavaScript или удостовериться, что серверный код не будет работать дважды.
Вместо сокрытия, что я сделал, подкачивает кнопки с помощью JavaScript. Покажите, что другой greyed отображает при щелчке первой кнопки.
Кто-то еще сказал это где-нибудь относительно здесь несколько дней назад, и я соглашаюсь - используют JavaScript для простого сокрытия кнопки вместо того, чтобы отключить его; Вы могли показать изображение "счетчика" в его месте, которое сообщает пользователю, что продолжается.