簡體   English   中英

當用戶在Bootstrap-modal中確認時,從javascript調用code-behind-method

[英]Call code-behind-method from javascript, when user confirms in bootstrap-modal

我有一個帶有數據的Web表單和一個“保存”按鈕。
在后面的代碼中,我有一種將數據保存在數據庫中的方法。
當我單擊“保存”按鈕時,我首先彈出一個帶有2個按鈕的Bootstrap確認模式對話框:“取消”和“是”。 該模式會在客戶端彈出,從而節省了往返服務器的流量。
取消按鈕可以通過“數據刪除”正常工作。
但是,當用戶單擊確認模式中的“是”按鈕時,如何在后面的代碼中觸發該方法?
標記:

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

我瀏覽了數十個條目,那里的信息如此混亂...
任何想法將不勝感激。

編輯 (解決方案和問題):
我剛剛發現,我所要做的就是將模式中的“是”按鈕更改為在服務器端運行的ASP按鈕:

<asp:button ID="btnMethod" runat="server" OnClick="btnSave_Click" class="btn btn-success" Text="Yes"></asp:button>  

現在我的問題(因為我是Web編碼的初學者)是: 在單擊“是”按鈕之前,模式將在客戶端運行嗎? 還是將這個按鈕定義為runat =“ server”會立即將整個模式發送到服務器,在這種情況下,我失去了將流量保存到服務器並返回的好處?

為什么要使用引導模態? 將客戶端單擊更改為OnClientClick =“返回確認(“您的確認對話框。”);” 它應該工作。

我認為您可以在按鈕中添加runat =“ server”

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

然后,您可以知道何時單擊此按鈕。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM