JQuery UI模式框显示何时应该显示的问题';t

本文关键字:显示 问题 UI 模式 何时应 JQuery | 更新日期: 2023-09-27 18:10:37

所以这里有几个部分。首先,这里是位于ASPX页面头部的Javascript:

<!--//**********************************
    // Test modal popup
    //**********************************  -->
<script type="text/javascript">
    //Total out of range dialog
    $(function () {
        $("#dialog").dialog({
            modal: true,
        //    autoOpen: false,
        width: 570,
        buttons: {
            "Ok": function () { $(this).dialog("close"); },
            "Cancel": function () { $(this).dialog("close"); }
        }
        });
    });
</script>

然后,在ASPX页面的最底部(相当长…(,我有一个模态片段:

<div id="dialog" title="ATTENTION">
    <table style="width:565px; border-spacing:0px; border-collapse:collapse;">
        <tr>
            <td style="width:65px; ">
                <img src="http://someimage" style="height: 120px; width: 80px" />
            </td>
            <td style="vertical-align:top">
                <p>some text</p>
            </td>
        </tr>
    </table>
</div>
</asp:Content>

最后,在后面的代码中,我有这样的:

        if (!Page.IsPostBack)
        {
            if (MyServer.Contains("localhost"))
            {
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "dlgOutOfRange", 
                "$(function() {$('#dialog').dialog('open');});", true);
            }

现在,我知道这一切都有效,它已经过测试。然而,即使不应该显示这个模态,它也会显示,当我跳过代码时,它会绕过Page.IsPostback,这样它就知道这不是回发。例如,我有一个下拉列表,它绑定了SelectedIndexChange函数。当我更改下拉列表中的值时,这个模态就会变为可见。div标记中是否有我没有做的事情?我尝试添加style="Visible:False;",但这只是使文本不可见。

JQuery UI模式框显示何时应该显示的问题';t

    <script type="text/javascript">
$(document).ready(function () {
    $("#dialog").dialog({
        modal: true,       
    width: 570,
    buttons: {
        "Ok": function () { $(this).dialog("close"); },
        "Cancel": function () { $(this).dialog("close"); }
    }
    });
});
</script>

试试这个。。