Вызов метода кода программной части из javascript, когда пользователь подтверждает в bootstrap-modal

У меня есть веб-форма с данными и кнопка «Сохранить».
В коде у меня есть метод, при котором я сохраняю данные в БД.
Когда я нажимаю кнопку «Сохранить», я сначала открываю модальное диалоговое окно подтверждения 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" немедленно отправит все модальное окно на сервер, и в этом случае я потеряю преимущество экономии трафика на сервер и обратно?


person gadi    schedule 16.09.2015    source источник


Ответы (2)


Зачем использовать модальный бутстрап? Измените клик клиента на OnClientClick="return confirm('Ваш диалог подтверждения.');" он должен работать.

person gmurano    schedule 16.09.2015
comment
Потому что я хочу использовать Bootstrap. - person gadi; 16.09.2015

Я думаю, что вы можете добавить runat="server" в кнопку да

<button type="button" id="btnMethod" class="btn btn-success" runat="server">Yes - I'm sure</button>

И тогда вы можете узнать, когда нажмете на эту кнопку.

person DanielB    schedule 07.08.2017