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);
    }

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

我没有线索跟进。

过去有没有人遇到过同样的问题并帮助我解决问题。

提前致谢, Saravnakumar

4

1 回答 1

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;
}

它之前保存了地址,您每次都将其保存到一个新实例中。上面的代码应该可以修复它——希望如此。

于 2012-12-24T11:03:38.317 回答