ASP.NET Click () событие не срабатывает при второй обратной передаче - PullRequest
3 голосов
/ 05 июня 2009

У меня есть веб-форма ASP.NET. При первой отправке формы возникает событие SubmitButton_Click.

Форма возвращается в браузер либо с ошибками проверки, либо с возможностью повторной отправки формы с новыми значениями.

Когда форма снова вставляется, событие SubmitButton_Click никогда не запускается. Page_Load срабатывает, но не кнопка.

Кто-нибудь знает, почему я вижу такое поведение на стороне сервера?

(Я использую jQuery и клиентский контроль контроля, но я не думаю, что это вызывает проблему. Хотя я все равно упомяну об этом)

Edit:

<asp:Button ID="SubmitButton" OnClick="SubmitButton_Click"
      runat="server" />

Событие устанавливается на элементе управления, а не в коде.

Ответы [ 4 ]

2 голосов
/ 05 июня 2009

Это может произойти с динамически созданными элементами управления, если вы не создали их достаточно рано в жизненном цикле страницы. Вам немного не хватает деталей, но ваша кнопка создается динамически?

0 голосов
/ 05 июня 2009

JQuery отправляет форму? Если __doPostBack() не вызывается на стороне клиента (с соответствующими аргументами), событие на стороне сервера не произойдет.

0 голосов
/ 05 июня 2009

Как обработчик события Click связан с кнопкой отправки? Декларативно или в коде?

Если это в коде, убедитесь, что вы не делаете это в блоке, подобном этому:

if (!Page.IsPostBack) {
    submitButton.Click += new EventHandler(submitButton_Click);
}

Это предотвратит присоединение обработчика событий, когда страница будет отправлена ​​обратно (т.е. Page.IsPostBack равно true).

0 голосов
/ 05 июня 2009

Как вы «подключаете» свой обработчик событий?

Похоже, вы подключили его в блок if (IsPostback), который не запускается во второй раз ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...