MVC 2 - 显示包含局部视图的jquery对话框

时间:2011-12-19 22:12:43

标签: asp.net-mvc asp.net-mvc-2

好的,所以我正在尝试显示一个对话框,该对话框的内容来自局部视图_TestPartial。

以下是部分视图:

    <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>

<div id="test" title="Basic dialog">
    <p>This is just a test</p>
</div>

现在,如果我将test div放在显示对话框的.aspx中,它就会显示正常。或者,如果我从我的页面调用部分右侧,它将显示“这只是一个测试”就好了。我只是不知道如何使jquery对话框显示部分。我尝试了一些方法,例如让我的对话框调用一个Action TestAction,它会呈现_TestPartial,但这甚至不起作用。我有一种感觉,我在某处丢失了一段关键代码。这是我的对话框代码(根据选择列表选择自动调用):

if ($('#SelectListID option:selected').text() == 'Test') {
                    $('#test').dialog({

                        width: 400,
                        resizable: false,
                        title: 'Test dialog',
                        open: function(event, ui) {
                            $(this).load("@Url.Action('TestAction')");
                        },
                        buttons: {
                            "Close": function (){
                                $(this).dialog("close");
                            }
                        }                        
                    });
                }

1 个答案:

答案 0 :(得分:3)

我记得之前遇到过类似的问题。我们添加了一个对话框容器,然后将局部视图加载到内部div中。

<div id="dialogcontainer">
    <div id="dialogcontent"></div>
</div>

$("#dialogcontainer").dialog({
    width: 400,
    resizable: false,
    title: 'Test dialog',
    open: function(event, ui) {
        $("#dialogcontent").load("@Url.Action('TestAction')");
    },
    buttons: {
        "Close": function (){
            $(this).dialog("close");
        }
    }                        
});