_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
}