ASP: событие Button OnClick не запускается в одном конкретном случае - PullRequest
1 голос
/ 24 июня 2011

У меня есть всплывающее окно, определенное в пользовательском элементе управления, которое открывается в пользовательском элементе управления на панели задач и прикрепляется к главной странице, например:

MasterPage.TaskBarUC.PopupUC

Внутри всплывающего окна есть две кнопки: одна для сохранения того, что пользователь пытается сделать в базе данных, а другая для отмены. У меня есть некоторый код, который работает, когда пользователь нажимает любую кнопку.

Таким образом, каждая страница имеет панель задач, и они могут нажать кнопку на панели задач, чтобы получить доступ к всплывающему окну и сохранить информацию. Работает отлично. Однако на сайте есть одна конкретная страница, которой необходимо получить доступ к тому же всплывающему окну с помощью кнопки, расположенной на странице, а также с панели задач.

Кнопка работает, и она открывает всплывающее окно, но по какой-то причине, и только в этом случае кнопка «Сохранить» не активирует мой код. Это выполняет проверку, что у меня есть, хотя. Что также странно, так это то, что кнопка отмены, которая также активирует некоторый код позади, делает то, что должна.

Я пытался поместить точку останова прямо в начало моего обработчика событий «Сохранить», и он никогда не достигал ее. Это как если бы кнопка только проверяла и полностью игнорировала свое событие OnClick.

.aspx

<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click" 
    ValidationGroup="Validation" />

Ответы [ 2 ]

1 голос
/ 24 июня 2011

Я предполагаю, что произошел сбой процесса проверки, что отменяет обработку события Button.Click.

Чтобы проверить эту возможность, попробуйте установить значение свойства Button.CausesValidation равным false и посмотреть, будет ли обработка Button.Click продолжаться или нет.

0 голосов
/ 06 февраля 2012

Button.CausesValidation свойство false работает для меня. Я использую обязательное поле валидатора для другой кнопки. Я думаю, что это может остановить публикацию назад даже для всех других событий нажатия кнопки (на стороне сервера).

...