>我需要在单击按钮时添加确认。
我的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> Back</button>
<button id="btnSaveDisplayOrder" runat="server" onserverclick="btnSaveDisplayOrder_Click" class="btn btn-default"><i class="fa fa-user-plus" aria-hidden="true"></i> 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> Save</button>
并且还尝试从代码隐藏调用它,
protected void btnSaveDisplayOrder_Click(object sender, EventArgs e)
{
//ClientScript.RegisterStartupScript(typeof(Page), "Popup", "ConfirmMessage()", true);
}
但它也不起作用,我如何添加确认弹出窗口。
您是否尝试过设置一个简单的
alert('message')
? 只是为了检查代码是否正常工作。
将函数添加到 OnClientClick 时,我通常不需要执行任何操作,只需添加函数的名称,除非我发送参数。
OnClientClick="ConfirmMessage()"
您发布该功能,但您在哪里拥有它?如果它位于外部文件上,则需要指定它的位置。
从代码隐藏中,您也可以添加警报,只需在事件上添加新控制器即可。