2012-12-24 61 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; 
} 

它是保存地址之前,你只是每次保存到一個新的實例。上面的代碼應該修復它 - 希望。