在 asp.net c# 页中发出警报

Alertify in a asp.net c# page

本文关键字:asp net      更新时间:2023-09-26

对不起,如果我的英语不好。

有一个问题,我认为问题是我对javascript的了解不足,但是......我知道你可以帮我解决这个问题。

有一个带有图像按钮的页面,我用它来删除数据,我需要一个确认对话框。警报很漂亮,我在服务器端使用替代警报,如下所示:

string myScript2 = "alertify.error('message.')";
ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), 
                Guid.NewGuid().ToString(), myScript2, true);
return; 

并且工作正常!

但我不明白如何使用Alertify.confirm。

例如,我用过

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="../../js/alertify.min.js"></script>
    <!-- include the core styles -->
<link rel="stylesheet" href="../../js/alertify.core.css" />
    <!-- include a theme, can be included into the core instead of 2 separate files -->
<link rel="stylesheet" href="../../js/alertify.default.css" />
<script type="text/javascript">
        $("#btElimina").on('click', function () {
            alertify.confirm("This is a confirm dialog", function (e) {
                if (e) {
                    alertify.success("You've clicked OK");
                } else {
                    alertify.error("You've clicked Cancel");
                }
            });
            return false;
        });
    </script>

但无事可做...我不能使用 onclientclick,因为 alertify 是一个非阻塞而不是一个模态窗口......你能帮我理解吗?不是为我写代码,而是理解并让我可行谢谢

亨利

alertify.success("You've clicked OK");替换为return true; 并与return false; alertify.error("You've clicked Cancel");

还要更改此设置:

$("#btElimina").on('click', function () {

对此:

$("#<%=btElimina.ClientID%>").on('click', return function () {

我使用了这个并且它正在工作:

我的按钮是:

<asp:ImageButton ToolTip="Çıkış" ID="ImageButton1" ImageUrl="Image/Exit.png" runat="server"  OnClick="btnLogout_Click" />

我的脚本是:

<script type="text/javascript">
    $("#ImageButton1").on('click', function () {
        alertify.confirm("This is a confirm dialog", function (e) {
            if (e) {
                alertify.success("You've clicked OK");
                __doPostBack("<%=ImageButton1.UniqueID%>", "");
            } else {
                alertify.error("You've clicked Cancel");
            }
        });
        return false;
    });
</script>

在这里,当我单击"取消"按钮返回false并且什么都不做时,但是当您单击确定按钮时,我正在为相关按钮进行回发,您可以在服务器端编写自己的代码

protected void btnLogout_Click(object sender, EventArgs e)
        {
            Session.RemoveAll();
            Response.Redirect("~/Login.aspx");
            ...
        } 

我无法评论下面的最后一条评论,因为我没有 50 的声誉,所以我发布一个答案只是为了详细说明 Ratna 的答案。

根据 Ratna 的回答,您应该使用服务器标记来引用 ASP.Net 控件(带有 runat="server 的控件"),以确保无论将控件重命名为什么 ASP.Net 您都可以获得控件。

所以重申拉特纳的回答:

而不是

$('#btElimina').on(..

$('#<%= btElimina.ClientID %>').on(..

以确保在 jQuery 脚本中获取正确的客户端控件 ID。