MVC3实体更新问题

时间:2012-12-17 06:03:14

标签: asp.net-mvc-3 edit

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

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

1 个答案:

答案 0 :(得分:0)

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

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

尽可能多地进行调试,并根据您的发现回到这里。