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