用于父模型的MVC AJAX形式帖子&多个子模型列表

时间:2018-04-08 10:57:47

标签: asp.net-mvc forms post

我有一个父母模特&多个孩子模型列表。 在View中,每个子模型都有一个局部视图。默认情况下,每个孩子都有一条记录。动态地我想在子模型中添加更多记录。

我正在做以下过程。

使用表单帖子进行Ajax调用。

在控制器中我得到了模型列表(第一次正确)。 第二次当我尝试在子模型中添加一个记录/控件时,它将在列表中显示更多记录。

例如,

父模型: 的公司

儿童模特: 合作伙伴列表& 工厂地址(清单)

enter image description here 主视图适用于公司模型。

用于儿童模特的部分视图。 动态地我在部分视图中添加和删除控件。

为此,我使用以下代码

function AddPartner() {
        var dataPost = $("#frmCompany").serialize();
        $.ajax({
            url: '@Url.Action("AddPartner", ControllerName.CompanyProfile)',
            data: dataPost,
            contentType: 'application/json; charset=utf-8',
            async: true,
            success: function (response) {
                $("#divPartner").html(response);
            }
        });
    }



 function RemovePartner(id) {
        if (id >= 1) {
            debugger;
            var dataToPost = $("#frmCompany").serialize();
            dataToPost = dataToPost + "&RowNo=" + id;
            $.ajax({
                url: '@Url.Action("RemovePartner", ControllerName.CompanyProfile)',
                data: dataToPost,
                cache: true,
                success: function (response) {
                    $("#divPartner").html(response);
                }
            });
        }
    }

在控制器代码中我正在使用

public ActionResult AddPartner(List<CompanyPartnerModel> LstCompanyPartnerModel)
        {
           if (LstCompanyPartnerModel== null)
            { LstCompanyPartnerModel= new List<CompanyPartnerModel>(); }

            CompanyPartnerModelobj = new CompanyPartnerModel();
            LstCompanyPartnerModel.Add(obj);
            return PartialView("_Parner", LstCompanyPartnerModel);
        }

我使用的相同类型的代码添加工厂地址。

问题是,如果有一个合作伙伴&amp;表格中已有一个工厂地址。当我要在控制器中添加一个伙伴/地址时,我在LstCompanyPartnerModel中得到两个实体,一个有记录,一个是null。

并且在视图中,它将添加两个Partner而不是One。总共有3个文本框供合作伙伴查看,而不是两个。

0 个答案:

没有答案