关于UseSubmitBehavior和OnClientClick同时使用,导致无法触发后台事件的问题
经常会有正样的需求,在用户做一个不易恢复并且容易误操作的动作时需要给用户以提示,用户确认后继续执行动作。
简单的解决方案是:前台用OnClientClick事件中使用Confirm给用弹出确认提示框,用户确认后继续执行后台代码,取消的不做处理。但是最近突然遇到这种方法不灵了,反复确认后发现了button的UseSubmitBehavior属性被设置成了false。类似问题,网上找到了这个帖子。
以这个帖子为蓝本说明下具体的解决方案,这里只说明帖子中指出的第一种方案:
原有问题代码如下:<asp:Button ID="IbtnSave" runat="server" Text="保存" CssClass="buttonCss" OnClientClick=" return true;" OnClick="IbtnSave_Click1" UseSubmitBehavior="false"/>
解决方法如下:
<script type="text/javascript" >
function CheckDelete() {
if (confirm('你确定要删除XX吗?')) {
return true;
}
else {
return false;
}
}
</script>
按钮代码修改如下:
<asp:Button ID="IbtnSave" runat="server" Text="保存" CssClass="buttonCss" OnClientClick=" if(!CheckDelete()){return false;}" OnClick="IbtnSave_Click1" UseSubmitBehavior="false"/>