0
我寫在會議mvc5購物車,但我想用cookies.Here替換實現順序動作:如何將通用列表保存到C#中的HttpCookie中?
public ActionResult OrderNow(int id)
{
if(Session["cart"]==null)
{
List<Item> cart = new List<Item>();
cart.Add(new Item(de.Products.Find(id),1));
Session["cart"] = cart;
}
else
{
List<Item> cart = (List<Item>)Session["cart"];
int index = isExisting(id);
if (index == -1)
cart.Add(new Item(de.Products.Find(id), 1));
else
cart[index].Quantity++;
Session["cart"] = cart;
}
return View("Cart");
}
和項目類:
public class Item
{
private Product pr = new Product();
public Product Pr
{
get { return pr; }
set { pr = value; }
}
private int quantity;
public int Quantity
{
get { return quantity; }
set { quantity = value; }
}
public Item(Product product, int quantity)
{
this.pr = product;
this.quantity = quantity;
}
}
我更換,如果塊搭配:
if(Request.Cookies["cart"]==null)
{
List<Item> cart = new List<Item>();
cart.Add(new Item(de.Products.Find(id),1));
Request.Cookies["cart"] = cart;
}
但我得到了兩個錯誤: 無法隱式轉換類型「System.Collections.Generic.List」到「System.Web.HttpC ookie'
和 屬性或索引器'System.Web.HttpCookieCollection.this [string]'不能分配給 - 它是隻讀的。
我該怎麼辦? 謝謝
'HttpCookie cookie = new HttpCookie(「Cart」); cookie.Value = cart; Response.Cookies.Add(cookie);' –
@StephenMuecke好吧,我不認爲它的重複,因爲問題,用戶試圖解決它有點不同,實際上解決這個cookie是一種不好的方法做 –
@VolodymyrBilyachat,該騙局解決這兩個在OP的問題中的例外(我同意它的一個壞主意) –