У меня есть веб-форма с данными и кнопка «Сохранить».
В коде у меня есть метод, при котором я сохраняю данные в БД.
Когда я нажимаю кнопку «Сохранить», я сначала открываю модальное диалоговое окно подтверждения Bootstrap с 2 кнопки : Отмена и Да. Модальное окно всплывает на стороне клиента, что экономит трафик на сервер и обратно.
Кнопка "Отмена" отлично работает через "отклонение данных".
Но как мне заставить метод в коде запускаться, когда пользователь нажимает кнопку "Да" в окне подтверждения?
Разметка:
<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Button ID="btnSave" runat="server" OnClientClick="return ConfirmPopup();" Text="Save" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="container">
<div class="row">
<button type="button" style="display: none;" id="jsbtnBS_Confirm_Modal"
data-toggle="modal" data-target="#myBS_Confirm_Modal"
data-backdrop="static" data-keyboard="false">
</button>
<div class="modal fade in" id="myBS_Confirm_Modal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<span id="lblBS_Confirm_Modal">You Sure...?</span>
</div>
<div class="modal-footer">
<button type="button" id="btnMethod" class="btn btn-success">Yes - I'm sure</button>
<button type="button" id="btnCancel" class="btn btn-danger" data-dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
</div>
</div>
Сценарий:
function ConfirmPopup() {
$("#jsbtnBS_Confirm_Modal").click();
$('#myBS_Confirm_Modal').on('hidden.bs.modal', function (e) {
return false;
});
}
Код позади:
protected void btnSave_Click(object sender, EventArgs e)
{
...code to save data in database...
}
Я просмотрел десятки записей, и информация там такая запутанная...
Любая идея будет очень признательна.
EDIT (решение и вопрос):
Я только что узнал, что все, что мне нужно сделать, это изменить кнопку «Да» в модальном окне на кнопку ASP, которая работает на стороне сервера. :
<asp:button ID="btnMethod" runat="server" OnClick="btnSave_Click" class="btn btn-success" Text="Yes"></asp:button>
Мой вопрос сейчас (поскольку я новичок в веб-кодировании): Будет ли модальное окно работать на стороне клиента, пока не будет нажата кнопка "Да"? Или определение этой кнопки как runat="server" немедленно отправит все модальное окно на сервер, и в этом случае я потеряю преимущество экономии трафика на сервер и обратно?