RegisterStartupScript 无法打开模式对话框



我正在尝试在Page_Load期间发生错误时打开信息性错误对话框。
我已经定义了对话框和初始化打开它所需的函数,如下所示:

$(document).ready(function () {
    $('#errorDialog').dialog({
        autoOpen: false,
        height: 120,
        width: 500,
        draggable: false,
        resizable: false,
        modal: true,
        title: "Error!",
        open: function (type, data) {
            $(this).parent().appendTo("form");
        }
    });
});
function showErrorPopup() {
    $('#addNoteButton').hide();
    $('#errorDialog').dialog("open");
}
<div id="errorDialog">
    <asp:Label ID="errMessage" runat="server"></asp:Label>
    <input type="button" id="Button3" onclick="closeDialog('errorDialog');"
                class="inputASPButton" value="Zrušit" />
</div>

我像这样从Page_Load打开它:

Page.ClientScript.RegisterStartupScript(typeof(Page), UniqueID, "showErrorPopup();", true);

它在执行$('#addNoteButton').hide();时调用函数,隐藏按钮,但对话框本身永远不会显示。

任何帮助将不胜感激。

由于我看不到您包含哪些脚本库,我能提出的唯一建议是确保您包含 jQuery UI(http://jqueryui.com/download/),因为对话框小部件是该库的一部分,而不是标准的 jQuery 库。我纯粹基于这样一个事实,即您可以按预期隐藏按钮,但无法打开对话框。

http://api.jqueryui.com/dialog/

如果您的错误消息不是动态的,您可以使用此代码

Page.RegisterStartupScript("err_msg", "alert('Start Date not found!');");

我必须像这样包装我的函数调用$(function(){ showErrorPopup(); });,然后才能显示来自RegisterStartupScript的jquery-ui对话框。

相关内容

  • 没有找到相关文章

最新更新