asp.net 中的甜蜜警报确认对话框

Posted

技术标签:

【中文标题】asp.net 中的甜蜜警报确认对话框【英文标题】:sweet alert confirm dialog in asp.net 【发布时间】:2017-08-30 20:14:36 【问题描述】:

我能够在甜蜜警报中获得 isConfirm 的警报真和假,但无法将相同的警报传递给 btnSave 以在代码隐藏中调用 btnSave_Click 方法。请帮忙。使用最新的 sweetalert,从http://t4t5.github.io/sweetalert/ 下载。

<script type="text/javascript">
        $('body').on('focus', ".Datetext", function () 
            $(this).datepicker();
        );

        function Confirm(th, e) 
              e.preventDefault();
            swal(
                title: "Are you sure?",
                text: "You want to Save this project?",
                type: "warning",
                showCancelButton: true,
                confirmButtonColor: '#DD6B55',
                confirmButtonText: 'Yes, I am sure!',
                cancelButtonText: "No, cancel it!",
                closeOnConfirm: true,
                closeOnCancel: true
            ,
            function (isConfirm) 
                if (isConfirm) 
                    //return true; 
                     alert("true");
                   // $(this).trigger('click');
                    $("#<%= btnSave.ClientID %>").trigger('click');
                   // e.currentTarget.submit();
                 else 
                    //  return false; 
                    // alert("False");
                
            );
         
    </script> 

html

<div style="text-align: center;">
                <asp:Button ID="btnSave" CssClass="buttons___" runat="server" Font-Size="9pt" Text="Save Project" 
                    OnClick="btnSave_Click" OnClientClick="Confirm(this, event);"/>
                <asp:Button CssClass="buttons___" runat="server" Font-Size="9pt" Text="Save as Draft" />
            </div>

【问题讨论】:

【参考方案1】:

我想你正在寻找这个:

        var object =  status: false, ele: null ;
        function conFunction(ev) 
            var evnt = ev;
            if (object.status)  return true; 
            Swal.fire(
                title: 'Are you sure?',
                text: "You won't be able to modify the form once submitted",
                icon: 'warning',
                showCancelButton: true,
                confirmButtonColor: '#3085d6',
                cancelButtonColor: '#d33',
                confirmButtonText: 'Yes, Submit'
                
            ).then((result) => 
                if (result.isConfirmed) 
                    object.status = true;
                    object.ele = evnt;
                    evnt.click();
                    Swal.fire('Submitted');
                
            )

            return object.status;
        ;
    
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<input type="button" id="Button3" runat="server" value="Submit" onclick="return conFunction(this);"/>

【讨论】:

【参考方案2】:

请在您的代码中尝试以下更改

<asp:Button ID="btnSave" CssClass="buttons___" runat="server" Font-Size="9pt" Text="Save Project" 
                    OnClick="btnSave_Click" OnClientClick="return Confirm(this, event);"/>

在甜蜜警报的脚本中

function (isConfirm) 
                if (isConfirm) 
                    return true; 
                    // alert("true");
                   // $(this).trigger('click');
                    $("#<%= btnSave.ClientID %>").trigger('click');
                   // e.currentTarget.submit();
                 else 
                      return false; 
                    // alert("False");
                
            

【讨论】:

是否调用函数(isConfirm)? 它确实进入了 if(isConfirm) ,我在那里发出警报以进行检查。它确实弹出警报(真)..但由于某种原因它没有返回真。 还有其他方法吗? 你可以尝试从函数(isConfirm)调用ajax 我最终使用 jquery 弹出窗口。

以上是关于asp.net 中的甜蜜警报确认对话框的主要内容,如果未能解决你的问题,请参考以下文章

如何进行类似警报的同步警报/确认对话框

如何在asp.net中自动启用浏览器位置设置

asp.net后台弹出一个确认对话框,点击确定时执行我写的方法,点击取消不执行,该怎么实现?

如何在 SwiftUI 中一个接一个地显示多个警报对话框?

asp.net 修改密码的对话框

通过调用 ASP.NET 按钮单击从 jQuery 模态对话框回发