7

我正在使用 MVC3 c# 4.0。

我创建了一个局部视图。

我的页面上有一个按钮,当我单击此按钮时,我希望能够将部分视图加载到模式弹出窗口中。我认为最好的方法是通过 javascript - 我已经在应用程序中使用 jQuery。

关于我如何做到这一点的任何指示?

4

1 回答 1

11

您可以使用jQuery UI 对话框

因此,您首先编写一个控制器:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    public ActionResult Modal()
    {
        return PartialView();
    }
}

然后是一个Modal.cshtml包含要在模式中显示的部分标记的部分:

<div>This is the partial view</div>

以及一个Index.cshtml包含按钮的视图,该按钮将在单击时将部分显示为模态:

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

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

@Html.ActionLink("show modal", "modal", null, new { @class = "modal" })

显然,在这个例子中,我将直接的脚本放入了 Index 视图,但在实际应用程序中,这些脚本将放入单独的 javascript 文件中。

于 2012-05-23T17:21:23.170 回答