2012-12-24 60 views
0

我在会话中有一个对象,即currentCustomer,如下所示。对象不在集合中添加

public Customer currentCustomer 
     { 
      get 
      { 
       if (Session["currentCustomer"] == null) return new Customer(); 
       else 
        return (Customer)Session["currentCustomer"]; 
      } 
      set 
      { 
       Session["currentCustomer"] = value; 
      } 
     } 

而且我还有一个MVC4操作将地址添加到客户的地址列表中。

[HttpPost] 
    public JsonResult CustomerAddressSave() 
    { 
      Address address = new Address(); 
      if (TryUpdateModel<Address>(address)) 
      { 
       UpdateModel<Address>(address); 
      } 
      currentCustomer.AddressList.Add(address); //Not Adding into the List. 
      return Json(new { success = true }, JsonRequestBehavior.AllowGet); 
    } 

令人惊讶的是,上面的代码没有将地址添加到列表AddressList;

我不知道跟进。

任何人都可以在过去遇到同样的问题,并帮助我出了什么问题。

由于事先 Saravnakumar

+0

当你做一个新的Customer()时,AddressList属性和底层集合对象的初始化是否正确? – ryadavilli

回答

2
get 
{ 
    if (Session["currentCustomer"] == null) return new Customer(); 
    else 
    return (Customer)Session["currentCustomer"]; 
} 

你想解决这个问题。这只是返回一个新的客户对象陷入僵局。你想把它分配给会话

get 
{ 
    Customer customer = null; 
    if (Session["currentCustomer"] == null) 
    { 
      customer = new Customer(); 
      Session["currentCustomer"] = customer; 

    } 
    else 
    { 
     customer= (Customer)Session["currentCustomer"]; 
    } 
    return customer; 
} 

它是保存地址之前,你只是每次保存到一个新的实例。上面的代码应该修复它 - 希望。