_doPostBack не вызывает событие

Я пытаюсь подключить JQuery стиль да | нет подтверждения, прежде чем кнопка отправляет обратно.

Что должно произойти

  • Пользователь нажимает "нет" - нет обратной передачи
  • Пользователь нажимает "да" - постбэк, вызывается событие кнопки

Что сейчас происходит

  • Пользователь нажимает "нет" - нет обратной передачи
  • Пользователь нажимает "да" - постбэк, событие загрузки страницы вызвано, но не обработчик события кнопки

Итак, как я могу получить обработчик события кнопки для запуска? Правильно, это просто идет к событию загрузки страницы.

 <asp:Button ID="btnSetActive" runat="server" Text="Set as Active" OnClientClick="AllBrandsConfirmation(); return false;" onclick="btnSetActive_Click" />


$(function () {

    // Set all brands (yes button)
    $('#setAllBrandsConfirmation #yes').click(function () {
        $.unblockUI();
        __doPostBack('ctl00_ctl00_oCPH1_Content_btnSetActive', '');
    });

    // Set all brands (no button)
    $('#setAllBrandsConfirmation #no').click(function () {
        $.unblockUI();
    });

});


// All brands confirmation
function AllBrandsConfirmation() {
    $.blockUI({ message: $('#setAllBrandsConfirmation') });
}

2 ответа

Решение

Я только что понял... хорошо, Google помог:) Очевидно, в первом аргументе для метода doPostBack вам нужно использовать элементы управления uniqueId, а не значение id. Как только я изменил, это вызвало событие.

protected void Page_Load(object sender, EventArgs e)
{
    if(Request.Form["__EVENTTARGET"] != null)
        if(Request.Form["__EVENTTARGET"] == "ctl00_ctl00_oCPH1_Content_btnSetActive")
            btnSetActive_Click(sender, e);
}

protected void btnSetActive_Click(object sender, EventArgs e)
{
    //do your work here
}
Другие вопросы по тегам