MVC Jquery对话框:模态:true可防止对话框呈现

时间:2010-11-16 08:21:42

标签: asp.net-mvc jquery-ui

我在VS2010 Express版上使用MVC2。

我有一个(简化的)页面,其中包含用于对话框的RenderPartial。单击一个按钮时,该对话框将弹出。但是,如果我包含modal:true作为对话框选项之一,那么当单击按钮时没有任何反应。该对话框不会弹出。当我从对话框选项中删除modal:true时,对话框按预期弹出并按预期关闭。请帮忙。我已经花了很多时间研究这个问题而找不到任何东西。刚开始时我有一个列表,为这个对话框指定了几个选项但它没有弹出,我逐个删除它们以找出是否有任何问题造成问题,当我删除模态时,确实已经提交了对话框单击按钮。添加选项模态:true再次停止渲染对话框。

这些在母版页中:

<link href="<%=ResolveUrl("~")%>App_Themes/smoothness/jquery-ui-1.8.2.custom.css" rel="stylesheet" type="text/css" />       

    <%=Html.Script("~/Scripts/jquery-1.4.2.min.js")%>
    <%=Html.Script("~/Scripts/jquery-ui-1.8.2.custom.min.js")%>
    <%=Html.Script("~/Scripts/jquery.form.js")%>

这是最初呈现的页面。粗体的第一行是按钮的行,单击该按钮时,它将打开对话框。第二行以粗体显示实际呈现对话框的行:

  
        
  • 请求对话
  •   


                

我的菜单

               &lt;%Html.RenderPartial(“get_dlg”,ViewData.Model.FName); %GT;   

这是对话框页面的整个代码(get_dlg)。因此,单击按钮时,对话框不会显示。删除粗体的行将有某种原因允许渲染对话框!

 <script type="text/javascript">

    $(document).ready(function () {
        $("#get_dlg").dialog({
            title: 'Get Dialog',
            autoOpen: false,
            modal: true
        });
        $('#requestDialog').click(function () {
            $('#get_dlg').dialog("open");
        })
    });
</script>  
           让我看看!

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我得到了ASP.NET论坛上某人的帮助:这是一个CSS问题。将以下内容添加到ascx(视图)修复了问题:

<style type="text/css">  
    .ui-widget-overlay {    
        background-color: #000000;    
        left: 0;    
        opacity: 0.5;    
        position: absolute;    
        top: 0;    
    }    

    .ui-dialog {    
        background-color: #FFFFFF;    
        border: 1px solid #505050;    
        position: absolute;    
        overflow: hidden;    
    }     
</style>