我试图找到一个解决方案有一段时间了,但找不到。。。我有一个绑定到模态的局部视图,它在网格中显示数据。低于
@model abc
@Html.Grid(Model)
{
grid columns
column with edit link
}
点击网格中的编辑链接,通过ajax,我想在绑定到另一个模型的部分视图中显示弹出窗口。这个引导弹出窗口也应该通过模型绑定来绑定,因为我需要在点击弹出的提交时执行服务器端验证
@model pqr
<div>
popup window with grid columns displayed in form for editing.
</div>
任何关于示例代码的帮助都会非常有帮助。
可能还有其他方法可以做到这一点,但我以前也这样做过:
-
您的编辑链接必须具有id作为要作为参数传递给控制器的id
-
获取数据并将模型传递到属性填充的局部视图
$(".YourEditLinkClass").click(function () { var id = $(this).attr('id'); $.ajax({ url: "@Url.Action("GetDataForPopUpWindow", "YourController")", type: "GET", dataType: "html", data: { id: id }, success: function (data) { $("#modal_" + id).html(data);//target position of modal $('#pqr_' + id).modal('toggle'); } }); });
控制器代码:
public ActionResult GetDataForPopUpWindow(int id)
{
using (YourDBContext)
{
var data = YourData;
pqr pqrModel = new pqr();
pqrModel.YourModelProperty = data.CorrespondingProperty;
return PartialView("_GridPartialView", pqrModel);
}
}
在名为_GridPartialView的部分视图中,引导模式的id必须为id="pqr_@Model.Id"
。希望它有意义。