首页 > 解决方案 > 如何添加确认消息 ASP 按钮单击

问题描述

单击按钮时,我需要添加确认。

我的 ASPX 代码如下,

<script>
    function ConfirmMessage() {
        confirmDialog('Delete TEST', "Are you sure you want to delete");
    }
</script>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <asp:Panel ID="Panel1" runat="server">
        <div class="service-display-order">
            <div class="row">
                <div class="col-xs-12 text-right">
                    <button id="serviceBack" class="btn btn-default" onclick="onLinkClick('ServicesAdmin.aspx');return false;" ><i class="fa fa-arrow-left" aria-hidden="true" ></i>&nbsp;Back</button>
                    <button id="btnSaveDisplayOrder" runat="server" onserverclick="btnSaveDisplayOrder_Click" class="btn btn-default"><i class="fa fa-user-plus" aria-hidden="true"></i>&nbsp;Save</button>
                    <asp:HiddenField ID="hdnDisplayOrderSaveData" runat="server" Value="" />
                </div>
            </div>
        </div>
    </asp:Panel>
</asp:Content>

我已经有了确认对话框的JS函数,如下,

function confirmDialog(title, message, callbackOnYes, callbackOnNo, callbackOnClose, callbackXClose) {
    var this$ = this.$;
    this$.modal.close();
    this$('#confirm').modal({
        closeHTML: "<a href='#' id='modalClose' title='Close' class='modal-close'>x</a>",
        overlayId: 'simplemodal-overlay',
        containerId: 'simplemodal-container',
        onShow: function (dialog) {
            this$('#simplemodal-container').css({ 'width': 'auto', 'height': 'auto', 'padding-bottom': '5px' });
            this$('.message').css("display", "block");
            this$('.message', dialog.data[0]).append(message);
            this$('.title', dialog.data[0]).append(title ? title : 'Confirm');
            var tmpW = this$('#simplemodal-container').width() / 2
            var tmpH = this$('#simplemodal-container').height() / 2
            this$('#simplemodal-container').css({ 'margin-left': tmpW * -1, 'margin-top': tmpH * -1 })
            if (!this$.isFunction(callbackOnYes)) {
                this$('.yesbutton', dialog.data[0]).css("display", "none");
                this$('.nobutton', dialog.data[0]).css("display", "none");
            } else {
                this$('.closebutton', dialog.data[0]).css("display", "none");
            }

            // if the user clicks "yes"
            this$('.yesbutton', dialog.data[0]).click(function () {
                // call the callback
                if (this$.isFunction(callbackOnYes)) {
                    callbackOnYes();
                }
                // close the dialog
                this$.modal.close();
            });

            // if the user clicks "no"
            this$('.nobutton', dialog.data[0]).click(function () {
                // call the callback
                if (this$.isFunction(callbackOnNo)) {
                    callbackOnNo();
                }
                // close the dialog
                this$.modal.close();
            });

            // if the user clicks "close"
            this$('.closebutton', dialog.data[0]).click(function () {
                // close the dialog
                this$.modal.close();
            });

            $("#modalClose").click(function () {
                if (this$.isFunction(callbackXClose)) {
                    callbackXClose();
                }
            });
        },
        onClose: function () { this$.modal.close(); if (this$.isFunction(callbackOnClose)) callbackOnClose(); }
    });
}

我试图添加OnClientClick到按钮,但它不起作用,

<button id="btnSaveDisplayOrder" runat="server" OnClientClick="ConfirmMessage() return false;" onserverclick="btnSaveDisplayOrder_Click" class="btn btn-default"><i class="fa fa-user-plus" aria-hidden="true"></i>&nbsp;Save</button>

并且还试图从代码隐藏中调用它,

protected void btnSaveDisplayOrder_Click(object sender, EventArgs e)
{
    //ClientScript.RegisterStartupScript(typeof(Page), "Popup", "ConfirmMessage()", true);
}

但它也不起作用,我该如何添加确认弹出窗口。请帮助我

标签: javascriptc#asp.netmodal-dialogonclientclick

解决方案


你试过设置一个简单的

alert('message')

? 只是为了检查代码是否有效。

向 OnClientClick 添加函数时,我通常不需要做任何事情,只需添加函数的名称,除非我发送参数。:

OnClientClick="ConfirmMessage()"

您发布了该功能,但您在哪里拥有它?如果它在外部文件上,那么您需要指定它的位置。

从后面的代码中,您也可以添加警报,只需在您的事件上添加一个新控制器。


推荐阅读