0

我们有两个模型 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 });
}

但我的问题是,当我编辑人员时,即仅人员主字段说名字,然后它会根据需要执行代码而不会给出任何错误。但并不反映变化。

4

1 回答 1

0

你需要展示TryUpdateModel()方法。你是如何更新模型的?

通过查看您发布的代码,一切似乎都很好,不应该出现任何问题,但是我想看看您更新实体的方式,问题似乎就在那里。

尽可能多地调试,然后带着你的发现回到这里。

于 2012-12-17T07:20:24.373 回答