3

我正在尝试在 jQuery ui 对话框窗口中显示部分视图,但我对加载函数没有太多运气。对话窗口确实打开了,但我没有看到部分视图的内容。

JS 代码位于外部 js 文件中。警报确实显示。

$(document).ready(function () {
    $('#dialog-modal').dialog({
        autoOpen: false,
        //width: 200,
        height: 400,
        modal: true,
        open: function (event, ui) {
            //alert("test");
            $(this).load("@Url.Action(\"OpenDialogWindow\", \"Home\" )");
        }
    });
});

==================================================== =================

我的 div 在这样的母版页上。

 <div id="dialog-modal" title="Select a city to see the listings">  </div> 

=========================

我的 ActionResult 看起来像这样。我确实将视图设置为部分视图。

public ActionResult OpenDialogWindow()
        {
            return PartialView("DialogView");
        }

=========================

我的观点是这样的。

@using TheSGroup_Web.ViewModels
@model CitiesViewModel

    <p>this is the content.
    </p>
4

2 回答 2

10

我不确定 MVC 2 或 3,但在 MVC 4 中,这就是我让它工作的方式。

$(document).ready(function () {
    $('#dialog-modal').dialog({
        autoOpen: false,
        modal: true,
        open: function (event, ui) {
            //alert("test");
            $(this).load("/Controller/Action");
        }
    });
});

function OpenDialog() {
    $('#dialog-modal').dialog('open');
}
于 2013-04-20T14:42:47.123 回答
0

您总是可以向您的局部视图发出 ajax 请求,检查状态代码,以防出现问题而您需要做其他事情,并将响应数据存储在变量中。如果状态码是 200(OK),然后在 open: 方法中加载带有变量的对话框,否则,做一些很酷的事情......我不知道我脑海中的确切代码,但它不会t be tuff 我不认为...

于 2013-04-04T23:04:23.090 回答