将部分视图显示为弹出窗口

时间:2013-04-08 10:37:24

标签: c# asp.net-mvc jquery

在我看来,我有;

@foreach (var item in Model)
{
    <li>@Html.ActionLink("click me", "popup", "SomeData", new{id = item.ID}, new {@class = "PopUp"})</li>
}

然后我有一个看起来像这样的控制器;

public ActionResult popup(Guid id)
{
    var singelData = db.SomeRandomData.Find(id);

    return PartialView(singelData);
}

看起来像这样的partialView;

<div>This a popup</div>
@Model.metadata1

到目前为止,当我点击某个链接时,我会被重定向到partialView。

现在到了我不舒服的部分,脚本部分,这是我的尝试;

<script src="~/Scripts/jquery-ui-1.8.20.js"></script>
<script type="text/javascript">
    $(function () {
        $('.PopUp').click(function () {
            $('<div/>').appendTo('body').dialog({
                close: function (event, ui) {
                    dialog.remove();
                },
                modal: true
            }).load(this.href, {});

            return false;            
        });
    });
</script>

但它仍然只是返回一个视图。我哪里出错?

1 个答案:

答案 0 :(得分:3)

您应该确保在显示的2个脚本之前包含 之前的。另外,我建议你使用一个javascript调试工具,如FireBug,并查看控制台窗口,你可能会看到脚本可能出现的错误。