我正在使用MVC3 c#4.0。
我创建了一个局部视图。
我的页面上有一个按钮,当我单击此按钮时,我希望能够将局部视图加载到模态弹出窗口中。我认为最好的方法是通过javascript - 我在应用程序中已经使用了jQuery。
关于我如何做到这一点的任何指示?
答案 0 :(得分:9)
您可以使用jQuery UI dialog。
所以你先写一个控制器:
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文件。