当用户在bootstrap-modal中确认时,从javascript调用代码隐藏方法

时间:2015-09-16 00:11:38

标签: javascript c# asp.net bootstrap-modal confirmation

我有一个包含数据的网络表单和一个“保存”按钮 在后面的代码中,我有一种方法,我将数据保存在数据库中 当我单击“保存”按钮时,我首先弹出一个带有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>  

我现在的问题(因为我是网络编码的初学者)是: 在单击“是”按钮之前,模式是否会在客户端运行?或者将此按钮的定义作为runat =“server”立即将整个模态发送到服务器,在这种情况下,我放弃了将流量保存到服务器并返回的好处?

2 个答案:

答案 0 :(得分:0)

为什么使用bootstrap模式?将客户端点击更改为OnClientClick =“return confirm('您的确认对话框。');”它应该工作。

答案 1 :(得分:0)

我认为您可以在按钮中添加 runat =“server”

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

然后,您可以在点击此按钮时知道。