【发布时间】:2012-05-30 06:54:27
【问题描述】:
我正在使用 MVC3 c# 4.0。
我已经创建了一个局部视图。
我的页面上有一个按钮,当我单击此按钮时,我希望能够将部分视图加载到模式弹出窗口中。我认为最好的方法是通过 javascript - 我已经在应用程序中使用 jQuery。
关于我如何做到这一点的任何指示?
【问题讨论】:
标签: c# jquery asp.net-mvc-3 partial-views
我正在使用 MVC3 c# 4.0。
我已经创建了一个局部视图。
我的页面上有一个按钮,当我单击此按钮时,我希望能够将部分视图加载到模式弹出窗口中。我认为最好的方法是通过 javascript - 我已经在应用程序中使用 jQuery。
关于我如何做到这一点的任何指示?
【问题讨论】:
标签: c# jquery asp.net-mvc-3 partial-views
您可以使用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" })
显然,在这个示例中,我将直接脚本放入索引视图中,但在实际应用程序中,这些脚本将放入单独的 javascript 文件中。
【讨论】:
Html.ActionLink 助手生成的只是一个<a> 标签。因此,您可以在 Web 表单应用程序中生成此标记。