Javascript Bootbox确认:返回客户端结果以便执行回发到rowCommand
在bootbox之前,我在gridview中的aspx文件上做了这项工作Javascript Bootbox确认:返回客户端结果以便执行回发到rowCommand,javascript,c#,asp.net,gridview,bootbox,Javascript,C#,Asp.net,Gridview,Bootbox,在bootbox之前,我在gridview中的aspx文件上做了这项工作 <asp:Button ID="btnDelete" CssClass="btn btn-danger" OnClientClick="if(!confirmDelete()) return false;" runat="server" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" CausesValidation="false"
<asp:Button ID="btnDelete" CssClass="btn btn-danger" OnClientClick="if(!confirmDelete()) return false;" runat="server" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" CausesValidation="false" CommandName="DeleteRow" Text="Delete"/>
确认后,将触发gridview的RowCommand并完成删除
有了bootbox,我真的被卡住了。我知道bootbox是异步的,并尝试使用“preventDefault”,但它不起作用。那么如何将上面的js文件转换为bootbox版本呢?
提前感谢。我终于想出了这个解决方案
function confirmDelete(sender) {
if ($(sender).attr("confirmed") == "true") {return true;}
bootbox.confirm("Are you sure you want to delete?", function (confirmed) {
if (confirmed) {
$(sender).attr("confirmed", confirmed).trigger("click");
}
});
return false;
}
更改按钮的OnClientClick
OnClientClick="return confirmDelete(this);"
我尝试过这个解决方案,但需要再次单击才能执行回发,所以我更改了发送者的触发器(“单击”)
。单击()代码>
编辑
function confirmDelete(sender) {
if ($(sender).attr("confirmed") == "true") {return true;}
bootbox.confirm("Are you sure you want to delete?", function (confirmed) {
if (confirmed) {
$(sender).attr('confirmed', confirmed);
sender.click();
}
});
return false;
}
我在代码中做了一些更改,我使用了回调:
来调用函数
我还为bootbox modal添加了一些设计
function confirmDelete(sender) {
if ($(sender).attr("confirmed") == "true") { return true; }
bootbox.confirm({
message: "Are you sure you want to delete?",
buttons: {
confirm: {
label: 'Yes',
className: 'btn btn-success'
},
cancel: {
label: 'No',
className: 'btn btn-danger'
}
}
,callback: function (confirmed) {
if (confirmed) {
$(sender).attr('confirmed', confirmed);
sender.click();
}
}});
return false;
}
function confirmDelete(sender) {
if ($(sender).attr("confirmed") == "true") { return true; }
bootbox.confirm({
message: "Are you sure you want to delete?",
buttons: {
confirm: {
label: 'Yes',
className: 'btn btn-success'
},
cancel: {
label: 'No',
className: 'btn btn-danger'
}
}
,callback: function (confirmed) {
if (confirmed) {
$(sender).attr('confirmed', confirmed);
sender.click();
}
}});
return false;
}