0

当在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();隐藏按钮,但对话框本身从未出现。

任何帮助是极大的赞赏。

4

3 回答 3

2

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

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

于 2012-12-18T12:04:12.883 回答
1

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

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

于 2012-12-18T13:56:13.433 回答
0

$(function(){ showErrorPopup(); });在 jquery-ui 对话框显示之前,我必须像这样包装我的函数调用RegisterStartupScript

于 2017-08-29T18:22:17.990 回答