C# 是什么导致此代码中出现nullreference异常?
我尝试向会话添加新的“顺序”。我开始在我的Global.aspx文件的session\u Start下创建会话:C# 是什么导致此代码中出现nullreference异常?,c#,asp.net,C#,Asp.net,我尝试向会话添加新的“顺序”。我开始在我的Global.aspx文件的session\u Start下创建会话: Session.Add("Cart", new WebShopData.Order()); 在我的登录页面,我创建了一个新会话: Session["userID"] = "User"; ((Order)Session["Cart"]).UserID = userID; 然后在我的店铺页面上,我想向会话添加内容: if ((Order)Session["Cart
Session.Add("Cart", new WebShopData.Order());
在我的登录页面,我创建了一个新会话:
Session["userID"] = "User";
((Order)Session["Cart"]).UserID = userID;
然后在我的店铺页面上,我想向会话添加内容:
if ((Order)Session["Cart"] != null)
((Order)Session["Cart"]).OrderRow.Add(new OrderRows({ArticleID = 2, Quantity = 1) });
在最后一行,我得到att nullreference异常。为什么会这样
以下是我的两门课:
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);
}
}
公共类秩序
{
公共列表医嘱行{get;set;}
公共字符串地址{get;set;}
公共字符串City{get;set;}
公共字符串Zip{get;set;}
public int UserID{get;set;}
}
公共类OrderRows
{
公共int ArticleID{get;set;}
公共整数数量{get;set;}
公共重写字符串ToString()
{
返回string.Format(“Artikel:{0},Antal:{1}.\n”,ArticleID,Quantity);
}
}
创建新订单时,已归档的OrderRow为空。必须在Order构造函数上初始化Order行。在使用OrderRow之前,需要创建一个实例。我建议在构造函数中这样做
将此添加到您的订单类
public class Order {
....other stuff...
public Order() {
OrderRow = new List<OrderRows>();
}
}
公共类秩序{
……其他东西。。。
公共秩序(){
OrderRow=新列表();
}
}