我在Session中有一个Object,即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);
}
令人惊讶的是,上面的代码没有将地址添加到List AddressList;
我无法跟进。
过去任何人都可能面临同样的问题并帮助我解决问题。
先谢谢, Saravnakumar
答案 0 :(得分:2)
get
{
if (Session["currentCustomer"] == null) return new Customer();
else
return (Customer)Session["currentCustomer"];
}
你想解决这个问题。这只会将一个新的Customer对象返回到不确定状态。您想将其分配给会话
get
{
Customer customer = null;
if (Session["currentCustomer"] == null)
{
customer = new Customer();
Session["currentCustomer"] = customer;
}
else
{
customer= (Customer)Session["currentCustomer"];
}
return customer;
}
之前正在保存地址,您每次都将其保存到新实例。上面的代码应该修复它 - 希望如此。