使用场景:
我们在开发WEB窗体应用时,有时需要在前端JS进行判断 ,比如询问用户“确认要这样操作吗?”
如果用户选择取消,立即停止操作,如果确定则执行服务端按钮操作。
但是一般服务器控件,都是点击后,直接进入服务端程序的,这时,我们就可以用Asp:Button中的UseSubmitBehavior属性 OnClientClick事件方法。
具体来说,UseSubmitBehavior=false,我们可以添加OnClientClick事件来阻止提交到后端比如我们可以写如下代码:
<asp:Button runat="server" ID="btnTopSave" ClientIDMode="Static" Text="保存" UseSubmitBehavior="False" CssClass="btn_save_n" OnClientClick="return confirm(this);" OnClick="btnSave_OnClick" />
function confirm(btn) {
var msg = "您真的确定要保存吗?\n\n请确认!";
if (confirm(msg)==true){
return true;
}else{
return false;
}
}
这里需要注意 OnClientClick="return confirm(this);”,注意要有return,而不仅仅是调用一个方法,猜测是这整个OnClientClick事件,必须有返回一个false,或true,否则它不理会前端选择的是确认还是取消,都会调用后端程序