You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET 点击asp:Button按钮时如何弹出带是/否选项的确认弹窗?

解决方法

你只需要修改ASPX页面里的Button控件代码即可,服务端逻辑不需要做任何调整:

具体修改步骤

给asp:Button新增OnClientClick属性,绑定原生JS确认弹窗逻辑即可,修改后的完整ASPX代码如下:

<telerik:RadAjaxPanel runat="server" ID="RadAjaxPanel3" LoadingPanelID="RadAjaxLoadingPanel2">
    <br /><br /><br /><br /><br />
    <div class=" col-md-2">
        <asp:Button 
            ID="Button3" 
            runat="server" 
            OnClick="getButton3_Click" 
            Text="Approve" 
            CssClass="btn btn-block form-control green" 
            <!-- 新增下面这行即可,弹窗提示文字可自行修改 -->
            OnClientClick="return confirm('确认要执行当前审批操作吗?')"
        />
    </div>
</telerik:RadAjaxPanel>

原理解释

  • OnClientClick是ASP.NET服务端按钮提供的客户端点击事件绑定属性,优先级高于服务端OnClick事件
  • 原生JS的confirm()方法会弹出带「确定/取消」选项的系统弹窗,用户点击确定返回true,点击取消返回false
  • 当OnClientClick返回false时,会直接终止后续的服务端请求,只有返回true才会触发getButton3_Click的服务端逻辑
  • 该写法完全兼容你当前使用的Telerik RadAjaxPanel控件,不需要额外调整AJAX配置

自定义弹窗适配(可选)

如果你不想用浏览器原生的confirm弹窗,要替换为自定义样式的模态框,按以下逻辑调整即可:

  • 给Button设置OnClientClick="openMyConfirm(); return false;",先阻止默认提交行为
  • 自定义模态框的「确认」按钮点击事件中,手动调用__doPostBack('<%= Button3.UniqueID %>','')主动触发服务端点击事件

内容的提问来源于stack exchange,提问作者burak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:45:06