我尝试在我的Session中添加一个新的"Order".我开始在Session_Start下的Global.aspx文件中创建一个会话:
Session.Add("Cart", new WebShopData.Order());
Run Code Online (Sandbox Code Playgroud)
在我的登录页面上,我创建了一个新会话:
Session["userID"] = "User";
((Order)Session["Cart"]).UserID = userID;
Run Code Online (Sandbox Code Playgroud)
然后在我的商店页面,我想添加东西到会话:
if ((Order)Session["Cart"] != null)
((Order)Session["Cart"]).OrderRow.Add(new OrderRows({ArticleID = 2, Quantity = 1) });
Run Code Online (Sandbox Code Playgroud)
在最后一行,我得到了无引用异常.为什么会这样?
这是我的两个班级:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
在使用 OrderRow 之前,您需要创建一个实例。我建议在构造函数中这样做......
将其添加到您的 Order 类中
public class Order {
....other stuff...
public Order() {
OrderRow = new List<OrderRows>();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
159 次 |
| 最近记录: |