我们有两个模型Person和Address。我们已经创建了这两个模型的一个组合模型,如下所示。
public class Trust_Person_Master
{
public Person_Master PersonMaster { get; set; }
public Address_Master AddressMaster { get; set; }
public Trust_Person_Master()
{
}
public Trust_Person_Master(Person_Master personMaster, Address_Master addressMaster)
{
PersonMaster = personMaster;
AddressMaster = addressMaster;
}
}
现在,我们使用此Trust_Person_Master
模型来保存人员和地址。
以下是保存和编辑的方法。
[HttpPost, Ajax(true)]
public JsonResult SaveTrust(Trust_Person_Master entity)
{
int nCurrPersonId = entity.PersonMaster.Person_ID;
if (entity.PersonMaster.Person_ID > 0)
{
var update = db.Person.Find(entity.PersonMaster.Person_ID);
if (ModelState.IsValid)
{
TryUpdateModel(update);
}
}
else
{
db.Person.Add(entity.PersonMaster);
}
db.SaveChanges();
HttpContext.Application["TrustPersonSearch"] = null;
return Json(new { person_id = entity.PersonMaster.Person_ID, location_id = entity.PersonMaster.Location_ID });
}
但我的问题是,当我编辑人物时,即只是人物大师的字段说出名字,然后它根据需要执行代码而不会给出任何错误。但并未反映出这些变化。
答案 0 :(得分:0)
您需要显示TryUpdateModel()
方法。你是如何更新模型的?
通过查看您发布的代码,一切似乎都没问题,不应该给出任何问题,但是我希望看到您更新实体的方式,问题似乎就在那里。
尽可能多地进行调试,并根据您的发现回到这里。