【发布时间】:2021-08-09 01:38:23
【问题描述】:
我有一个 ASP.Net Web 应用程序(带有母版页),并且我在其中一个子页面上创建了一个 jQuery 对话框。此对话框用于向操作员显示错误消息是否以及何时发生在后面的代码中(例如保存错误等)。因此,没有任何一个按钮或控件可以打开此对话框。仅出于测试目的,我在页面上创建了一个 ASP 按钮,以确保可以从后面的代码中打开对话框。如果 jQuery 对话框设置为 autoOpen:true,则该 ASP 按钮每次都会打开对话框。显然,该对话框最初在页面加载时打开,但如果我关闭它,我可以使用该按钮将其打开。但是,如果我设置 autoOpen:false,则该 ASP 按钮将不会显示/打开对话框。所以我确定我打开对话框的代码是正确的,因为它的工作原理如前所述。我已经将 jQuery 对话框代码包装在一个函数中,该函数在“$(document).ready”中引用,但它仍然无法正常工作。不知道我做错了什么。对话框的 div 不包含在 UpdatePanel 中。我已经看到许多其他关于在 autoOpen:false 时显示对话框的“类似”问题的帖子,但其中一些不适用,而其他一些我已经尝试或采纳了他们的建议。
$(document).ready(function ()
{
ShowPopup();
});
function ShowPopup(msgBoxTitle) {
$(function () {
$("#UserMessageBox").dialog(
{
autoOpen: false,
resizable: false,
height: "auto",
width: 600,
modal: true,
title: msgBoxTitle,
dialogClass: 'UserMessagBox',
buttons:
{
"Close": function () {
$(this).dialog("close");
},
"Next Message": function () {
var disableCloseBtn = ShowNextMessage();
if (disableCloseBtn) {
$(".ui-dialog-buttonpane button:contains('Close')").button("disable");
}
else {
$(".ui-dialog-buttonpane button:contains('Close')").button("enable");
}
},
},
open: function () {
$(".ui-dialog-buttonpane button:contains('Close')").button("disable");
},
});
});
};
【问题讨论】:
标签: c# asp.net jquery-ui-dialog