C# 对象未添加到集合中
我在会话中有一个对象,即currentCustomer,如下所示C# 对象未添加到集合中,c#,asp.net-mvc,collections,C#,Asp.net Mvc,Collections,我在会话中有一个对象,即currentCustomer,如下所示 public Customer currentCustomer { get { if (Session["currentCustomer"] == null) return new Customer(); else return (Customer)Sessio
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);
}
[HttpPost]
public JsonResult CustomerAddressSave()
{
地址=新地址();
if(TryUpdateModel(地址))
{
更新模型(地址);
}
currentCustomer.AddressList.Add(地址);//未添加到列表中。
返回Json(新的{success=true},JsonRequestBehavior.AllowGet);
}
令人惊讶的是,上面的代码没有将地址添加到列表AddressList中
我没有后续的线索
有谁能在过去遇到过同样的问题,帮我找出问题所在
提前感谢,,
萨拉夫纳库马尔
get
{
if (Session["currentCustomer"] == null) return new Customer();
else
return (Customer)Session["currentCustomer"];
}
你想解决这个问题。这只是将一个新的Customer对象返回到limbo中。您希望将其分配给会话
get
{
Customer customer = null;
if (Session["currentCustomer"] == null)
{
customer = new Customer();
Session["currentCustomer"] = customer;
}
else
{
customer= (Customer)Session["currentCustomer"];
}
return customer;
}
之前它正在保存地址,您每次都只是将其保存到一个新实例。上面的代码应该可以解决这个问题——希望如此。当您创建一个新客户()时,AddressList属性和基础集合对象是否正确初始化?