【发布时间】:2015-12-12 09:28:04
【问题描述】:
我有一个包含数据和“保存”按钮的网络表单。
在后面的代码中,我有一个方法可以将数据保存在数据库中。
当我单击 Save 按钮时,我首先会弹出一个带有 2 个按钮的 Bootstrap 确认模式对话框:Cancel 和 Yes。模态在客户端弹出,从而节省到服务器和返回的流量。
取消按钮可以通过“数据关闭”正常工作。
但是,当用户单击确认模式中的“是”按钮时,如何让后面代码中的方法触发?
标记:
<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" 会立即将整个模式发送到服务器,在这种情况下,我失去了将流量保存到服务器并返回的好处?
【问题讨论】:
标签: javascript c# asp.net bootstrap-modal confirmation