关于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"/>

 

posted @ 2012-09-18 16:46  窥文  阅读(4437)  评论(0编辑  收藏  举报