使用 SweetAlert2 替换 ASP.Net 按钮上的“返回确认()”

2023-12-03

在 ASP.Net 中工作时,我经常喜欢问“你确定吗?”单击删除按钮等内容时会弹出窗口。这很容易完成,如下所示:

<asp:Button runat="server" id="btnDelete" Text="Delete" onClientClick="return confirm('Are you sure?');" onClick="btnDelete_Click" />

我真的很喜欢 SweetAlert2 确认对话框的样式和总体感觉,但是当我尝试以类似的方式集成它们时,它们似乎有点麻烦。有人可以向我解释一下如何根据单击的按钮返回 SweetAlert2 对话框结果以继续或停止吗?

这是我到目前为止所得到的:

<asp:Button runat="server" id="btnDelete" Text="Delete" onClientClick="return sweetAlertConfirm();" onClick="btnDelete_Click" />
    function sweetAlertConfirm() {
        event.preventDefault();
        swal({
            title: 'Are you sure?',
            text: "You won't be able to revert this!",
            type: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            confirmButtonText: 'Yes, delete it!'
//      }).then(function() {
//          CONFIRM WAS CHOSEN
//      }, {function() {
//          CANCEL WAS CHOSEN
        });
    }

当然,对话框出现并且删除未被处理,因为我目前正在做一个event.preventDefault()并且没有返回任何内容。我也注意到我可以使用承诺,添加一个.then()在我之后swal({...}),但是我不确定在这种情况下如何使用它。

如果需要,我可以使用实际上触发代码隐藏方法的隐藏按钮,然后根据用户选择单击该隐藏按钮,但我希​​望避免这种情况。


由于 SweetAlert2 对话框是异步处理的,因此当承诺得到解决时,您必须以编程方式触发另一个按钮单击。您可以重复使用,而不是创建隐藏按钮btnDelete通过设置一个标志来表明该操作已被确认。当处理第二次单击时,将检测到该标志,并且将允许按钮单击继续并触发服务器事件。

<asp:Button ... OnClientClick="return sweetAlertConfirm(this);" OnClick="btnDelete_Click" />
function sweetAlertConfirm(btnDelete) {
    if (btnDelete.dataset.confirmed) {
        // The action was already confirmed by the user, proceed with server event
        btnDelete.dataset.confirmed = false;
        return true;
    } else {
        // Ask the user to confirm/cancel the action
        event.preventDefault();
        swal({
            title: 'Are you sure?',
            text: "You won't be able to revert this!",
            type: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            confirmButtonText: 'Yes, delete it!'
        })
        .then(function () {
            // Set data-confirmed attribute to indicate that the action was confirmed
            btnDelete.dataset.confirmed = true;
            // Trigger button click programmatically
            btnDelete.click();
        }).catch(function (reason) {
            // The action was canceled by the user
        });
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 SweetAlert2 替换 ASP.Net 按钮上的“返回确认()” 的相关文章

  • 动态添加jinja模板

    我有一个 jinja 模板 它是一组 div 标签内的唯一内容 div include temppage html div 当我按下按钮时 我想用其他内容替换标签之间的所有内容 我希望用另一个 jinja 模板 include realpa
  • ELEMENT.style.color 在 IE 中不起作用

    在一个小型 Web 应用程序中 我使用 JavaScript 在文本框中设置一些文本及其颜色 在下面的片段中 el 是我的对象 这段代码在 Firefox Opera 和 Safari 下产生了正确的效果 但在 IE 下却没有这样的运气 我
  • 匹配 JavaScript RegEx 中的不可见字符

    我有一些包含不可见字符的字符串 但它们位于可预测的位置 通常 围绕我想要提取的文本片段 然后在第二次出现之后我想保留文本的其余部分 我似乎不知道如何关闭隐形字符 and将它们从我的结果中排除 为了匹配隐形 我一直在使用这个正则表达式 xA0
  • 无法使用 MV3 从 Firefox 下的通用脚本导出到 background.js

    我试图在服务工作者 background js 和内容脚本之间重用一些功能 https stackoverflow com questions 73421706 how to reuse a javascript function betw
  • 可拖动的非模态弹出窗口 Jquery Mobile

    我希望在 Jquery mobile 中有一个弹出窗口 它不会阻止用户与页面交互 并且 data dismissible false 即当页面的另一部分与页面的另一部分交互并保持可见时 弹出窗口不会消失 我已经尝试过这个 popupNew
  • 递归链接 Promise

    我正在开发一个简单的 Windows 8 应用程序 我需要在其中从网站获取一组数据 我正在使用 WinJS xhr 来检索此数据 它返回一个 Promise 然后 我将回调传递到此 Promise 的 then 方法中 该方法为我的回调提供
  • 如何将多个文件上传到Firebase?

    有没有办法将多个文件上传到 Firebase 存储 它可以在一次尝试内上传单个文件 如下所示 fileButton addEventListener change function e Get file var file e target
  • Node.js 循环发送 http 请求

    我实际上遇到了使用 node js 执行的 javascript 代码的问题 我需要循环发送http请求到远程服务器 我在代码中设置了www google ca 这是我的代码 var http require http var option
  • 如何在正则表达式中区分数字和ip地址?

    例如 如果我们查看 5 56 和 183 55 0 144 基本上 当你做这样的事情时 d d 它匹配 5 56 189 55 和 0 144 有没有办法通过正则表达式仅匹配数字而不匹配 ip 地址的部分 我尝试使用前瞻 但我不知道它应该是
  • 如何使用 ui-router 中的 ui-sref 将参数传递给控制器

    我需要传递和接收两个参数到我想要转换到的状态ui srefui router 的 例如使用下面的链接将状态转换为home with foo and bar参数 a Go to home state with foo and bar para
  • 如何在联系我们页面中使用用户电子邮件发送电子邮件?

    我正在创建一个联系我们页面 并且我想从该页面接收邮件 因为它的邮件来自用户邮件 我写了这段代码 var client new SmtpClient smtp gmail com 587 Credentials new NetworkCred
  • 自定义可视化 Web 部件属性 sharepoint

    我在 Visual Studio 2012 中创建可视 Web 部件属性时遇到问题 我被提及http msdn microsoft com en us library ee231551 aspx http msdn microsoft co
  • ExpressJS - 提供通用 Nuxt 应用程序和 AngularJS SPA

    我有一个具有以下结构的博客项目 服务器 用 Node Express 编写 管理员 AngularJS SPA public AngularJS SPA 目前 管理部分和公共部分具有相同的域 但管理部分使用不同的子域 这允许我在 Expre
  • 无法使用 SMTP 将电子邮件发送到外部域

    我无法将电子邮件发送到外部域地址 例如 电子邮件受保护 cdn cgi l email protection 使用下面的代码 SmtpClient smtpClient new SmtpClient smtpMailServer smtpC
  • 如何在javascript中删除对象的一部分

    这是我的代码 var data btn click function total data push id total cell val1 val2 val3 每次用户点击btn按钮 我向数据对象添加一些值 现在我的问题是如何删除有的部分i
  • 关于 Node.js Promise then 和 return?

    我对承诺感到困惑 I use 那么就答应没有返回像这样 new Promise resolve reject gt resolve 1 then v1 gt console log v1 new Promise resolve reject
  • 我应该采取什么圆角方法?

    因此 关于圆角的信息并不缺乏 我已经经历过其中的大部分 我发帖是为了征求社区对这一点的意见 我的场景是 我们正在开发一个圆角相关设计 主要用于交互
  • 本地化 ASP.NET 资源的滑动过期

    假设我们有 2 个站点 myDomain AU 和 myDomain RU 具有相同的代码和本地化资源文件 resx 和 ru resx 我们预计大多数英语用户将使用 AU 网站 大多数俄语用户将使用 RU 网站 但是 如果 AU 域的某些
  • 限制在三角形内

    我正在寻找一段通用代码 javascript 它可以与 jquery UI 一起使用来限制三角形内 div 的移动 拖动 与此类似 http stackoverflow com questions 8515900 how to constr
  • 具有值的 TextInput 不会更改值

    在我的react native应用程序中 我有一个API 我从中检索数据 并且我在输入值中设置数据 用户应该能够编辑这些输入并更新 但是当我尝试输入输入时它不会输入任何内容并且值保持原样 这是 TextInput 代码

随机推荐

  • 将地图图钉添加到 Google 地图 Android 的最佳方法

    我已成功添加图钉 但当用户单击地图并提供新位置时需要刷新图钉 我收到错误 请记住 我需要在后台发生此操作 以便它不会影响地图交互 我的问题是 当用户单击地图时 地图图钉列表已经更新 我得到一个ConcurrentModificationEx
  • 使用 HTML5 设置视频播放时长

    我有一个使用 TimeJump js 的简单 HTML5 视频播放器 http davatron5000 github io TimeJump 以允许直接跳转到特定时间代码 IE 跳转到视频的第 25 分钟 我想添加对视频播放时长的限制 因
  • 上传文件[重复]

    这个问题在这里已经有答案了 可能的重复 如何在网页上实现文件上传进度条 Hello 我见过很多网页 用户可以上传文件 并且会得到某种进度作为视觉反馈 水平条 百分比等 我的 html 表单是
  • 通过连接传播 pandas 系列元数据

    我希望能够将元数据附加到一系列数据帧 特别是原始文件名 以便在加入两个数据帧后我可以看到有关每个系列来自何处的元数据 我看到 github 问题有关 metadata here here 包括一些与当前相关的 metadata属性 here
  • 从 .odt 文件填充 QTextDocument

    我正在使用 C 和 Qt 编写一个富文本编辑器 目前 我希望它支持 至少 odt 格式 我发现 QTextDocumentWriter 用于将 QTextDocument 的内容写入文件 但我似乎找不到任何东西可以将其读回到 QTextDo
  • 从类外部访问类属性

    假设我有以下课程 class MyClass public function Talk Say Something return Say 然后我启动了该类的一个实例 Inst new MyClass 现在 我如何在 MyClass 之外调用
  • Pandas 非常简单 分组总大小的百分比

    我在看似极其简单的操作中遇到了麻烦 通过诸如此类的操作从组中获取总数百分比的最简洁方法是什么df groupby col1 size 分组后我的 DF 看起来像这样 我只想要总数的百分比 我记得过去使用过此语句的变体 但现在无法使其工作 p
  • PHP 短标签可以使用吗?

    这是信息根据官方文档 有四对不同的 可以是开始和结束标签 在 PHP 中使用 其中两个 and 随时可用 另外两个 是短标签和 ASP 样式标签 并且 可以从打开和关闭 php ini 配置文件 像这样 虽然有些人发现短标签并且 ASP风格
  • 如何防止过度打字

    我正在尝试用 C 制作一个简单的聊天应用程序 它可以工作 但是 如果有人在其他人打字时输入某些内容 它就像写了他们正在输入的内容 我链接了图片作为下面的示例 我用于客户端和服务器的代码可以在这里找到 Client Server 图片 Bef
  • Python:获取插入符位置[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在尝试获取 Python 中的插入符号位置 我尝试使用win32gui GetCaretPos 但它总是返回 0 0 您有什么想法让它发挥作用吗 谢谢 克里斯 如果插入符号位于另
  • 在 C# 中显示数据库中列表框中的项目

    我有一个包含两个表的数据库Countries and Websites 我使用以下语句显示 listbox1 中的所有国家 地区名称 try connection Open using OleDbCommand command new Ol
  • Php 西里尔字符串长度加倍其值

    你好 这是问题所在 当我到达 POST 拉丁字符串 strilen 时效果很好 但是当我到达西里尔字符串 strlen 时其值加倍 这里是代码 word POST word echo strlen word br input abc gt
  • 使用 Eval 在 TemplateField 中显示毫秒

    我有一个提交的模板 如下所列 我还需要显示日期时间的毫秒部分 我读过有关dateValue ToString fff 格式为http msdn microsoft com en us library bb882581 aspx How to
  • iPhone 版的PasswordDeriveBytes(.net 2.0)

    我想在iPhone中使用 NET 2 0的PasswordDeriveBytes RSA PBKDF1 我怎样才能实现同样精确的实现 有没有相关的方法或库 我特别想要它使用盐 Thanks 由于 MS 实现并不完全遵循 PKCS 5 规范
  • android 画廊进入网格样式菜单

    大家好 请帮我解决有关 android 中的菜单的问题 我想将此画廊作为我的应用程序的网格菜单 请指导我如何将名称放在图像下方 如果我单击特定图像 则应打开新活动 最后单击菜单按钮将我带回主屏幕 here is the image 这是代码
  • 当服务器使用 pm2 重新启动时启动 Node JS 应用程序

    我正在尝试使用该模块pm2每次服务器启动时启动我的 Node js 应用程序 我已经使用了命令pm2 startup ubuntu但每次我重新启动服务器时 我的应用程序都没有运行 我必须再次手动启动它 有什么想法导致这个问题吗 确保保存您的
  • Windows 7 中管理员用户的 SQL Server 2008 数据库引擎登录失败 [已关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我从 sadegh 用户在 Windows 7 Ultimate 上安装了 SQL Server 2008 Enterprise Edition 该帐户以管理员角色存在 几天后 我从
  • Java - 如何将我的 ArrayList 写入文件,并将该文件读取(加载)到原始 ArrayList?

    我正在用 Java 编写一个程序 它显示一系列课后俱乐部 例如足球 曲棍球 由用户输入 俱乐部被添加到以下ArrayList private ArrayList
  • 根据特定列标题提取 HTML 表 - Python

    我正在尝试从以下内容中提取 html 表URL 例如 第 44 页的 2019 年董事薪酬表 我相信该表没有特定的 id 例如 薪酬表 等 要提取该表 我只能想到匹配的列名称或关键字 例如 股票奖励 或 所有其他补偿 然后抓取关联的表 有没
  • 使用 SweetAlert2 替换 ASP.Net 按钮上的“返回确认()”

    在 ASP Net 中工作时 我经常喜欢问 你确定吗 单击删除按钮等内容时会弹出窗口 这很容易完成 如下所示