Tôi cố gắng thêm "Đơn hàng" mới vào Phiên của tôi. Tôi bắt đầu tạo ra một phiên trong tập tin Global.aspx tôi dưới session_start:Điều gì gây ra một ngoại lệ nullreference trong mã này?
Session.Add("Cart", new WebShopData.Order());
Tại trang đăng nhập của tôi làm cho một phiên mới:
Session["userID"] = "User";
((Order)Session["Cart"]).UserID = userID;
Sau đó tại trang cửa hàng của tôi, tôi muốn thêm công cụ để các phiên:
if ((Order)Session["Cart"] != null)
((Order)Session["Cart"]).OrderRow.Add(new OrderRows({ArticleID = 2, Quantity = 1) });
Tại dòng cuối cùng này, tôi nhận được ngoại lệ về ngoại lệ. Tại sao điều đó có thể?
Dưới đây là hai lớp học của tôi:
public class Order
{
public List<OrderRows> OrderRow { get; set; }
public string Address { get; set; }
public string City { get; set; }
public string Zip { get; set; }
public int UserID { get; set; }
}
public class OrderRows
{
public int ArticleID { get; set; }
public int Quantity { get; set; }
public override string ToString()
{
return string.Format("Artikel: {0}, Antal: {1}.\n", ArticleID, Quantity);
}
}