微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在部分视图中具有模态绑定的Ajax模态弹出窗口

如何解决在部分视图中具有模态绑定的Ajax模态弹出窗口

我试图找到一个解决方案一段时间,但是找不到一个解决方案...我有绑定到模态的局部视图,它在网格中显示数据。像下面这样

@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>

任何有关示例代码的帮助都会大有帮助。

解决方法

可能还有其他方法可以做到这一点,但是我之前是这样做的:

  1. 您的编辑链接必须具有id作为要作为参数传递给Controller的id

  2. 获取数据并将模型传递到填充了属性的局部视图

    $(".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"。希望有道理。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。