你好,我想做一個簡單的在線雜誌,我開始當用戶點擊按鈕addtoCart其中的mvc - 存儲列表會話,然後檢索其值
部分我的模型車擁有兩個屬性 - 產品和數量
public class Cart
{
public ProductLanguages Product { get; set; }
public int Quantity { get; set; }
}
所以在我basketViewModel(類)我AddProductToCart方法我想補充的產品裏面,細節這是我從數據庫中列出的屬性來獲取。
所以我無法弄清楚這個問題:在控制的某個地方,我應該將這個列表保存在一個會話中,並且如果用戶在下一次從這個會話中獲取列表時添加更多產品。如果有人可以給我一個控制器的例子,可以做到這一點的索引行動,我會非常感激。
public class BasketViewModel
{
private readonly IProductLanguagesRepository prodlanRepository;
public List<Cart> listProductsinBasket { get; set; }
public BasketViewModel() : this(new ProductLanguagesRepository())
{
}
public BasketViewModel(IProductLanguagesRepository prodlanRepository)
{
this.prodlanRepository = prodlanRepository;
}
public void AddProductToCart(int id,int quantity)
{
ProductLanguages nwProduct = prodlanRepository.GetProductDetails(id);
if (nwProduct != null)
{
Cart cr = new Cart();
cr.Product = nwProduct;
cr.Quantity = quantity;
listProductsinBasket.Add(cr);
}
不要把你的倉庫裏面視圖模型 - 做你的控制器內。你的viewmodel應該只有「listProductsinBasket」。 @KindzaDza對於會話是正確的,你應該標記他/她的答案。 – free4ride