Как использовать Sweet Alert в ASP.NET C # - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь использовать сладкое оповещение для использования в качестве всплывающего сообщения в моем приложении ASP.NET C #. Но я думаю, что я делаю не так, потому что, если я нажимаю кнопку или ссылку, ничего не происходит. это как элемент без события.

Итак, вот код.

JAVASCRIPT

<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
    <script type="text/javascript">
        function Confirm(ctl, event) {
            event.preventDefault();
            swal({
                title: "Confirm Logout?",
                text: "Do you really want to log this Account out?",
                type: "warning",
                showCancelButton: true,
                closeOnConfirm: true,
                closeOnCancel: true
            },
            function (isConfirm) {
                if (isConfirm) {
                    return true;
                } else {
                    return false;
                }
            });
        }
    </script>

ASPX

    <li class="nav-item">
  <asp:LinkButton ID="btnLogout" CssClass="nav-link" runat="server" OnClick="btnLogout_Click" OnClientClick="return Confirm(this,event)"><i class="icon ion-android-exit"></i></asp:LinkButton></li>

C #

 protected void btnLogout_Click(object sender, EventArgs e)
    {
         Session.Abandon();
         Response.Redirect("login.aspx");
    }

1 Ответ

1 голос
/ 11 апреля 2019

OnClientClick ждет bool-результата, чтобы вызвать событие сервера, но методы Confirm ничего не возвращают. (function (isConfirm) возвращает асинхронный.)

Вы можете вызвать событие сервера на function (isConfirm) вручную, как

<script type="text/javascript">
    function Confirm(ctl, event) {
        event.preventDefault();
        swal({
            title: "Confirm Logout?",
            text: "Do you really want to log this Account out?",
            type: "warning",
            showCancelButton: true,
            closeOnConfirm: true,
            closeOnCancel: true
        },
        function (isConfirm) {
            if (isConfirm) {
               _doPostBack('btnLogout', 'OnClick');
            } 
        });

       return false;
    }
</script>
...