JQuery UI模式框的问题显示何时不应该

时间:2015-08-31 14:40:23

标签: javascript c# asp.net jquery-ui modal-dialog

所以这里有几件事。首先,这是位于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;”但这只是使文本不可见。

1 个答案:

答案 0 :(得分:0)

    <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>

试试这个..