我有一个父母模特&多个孩子模型列表。 在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个文本框供合作伙伴查看,而不是两个。