我正在尝试将甜蜜警报用作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");
}
答案 0 :(得分:1)
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>