你调用的对象是空的。在 Asp.net mvc 中使用会话将项目添加到购物车时
Object reference not set to an instance of an object. While Adding items to Cart using Session in Asp.net mvc
大家好,我正在尝试使用 Session 将商品添加到购物车,但我遇到了那个问题
System.NullReferenceException: 对象引用未设置为对象的实例。
Check This Image
这是我想要显示购物车商品的视图
@foreach (var item in (List<Product>)Session["MyCart"])
{
<li>
<a href="#" class="photo"><img src="@Url.Content(item.Product_Picture)" class="cart-thumb" alt="" /></a>
<h6><a href="#">@item.Product_Name </a></h6>
<p>1x -Rs <span class="price">@item.Product_SalePrice</span></p>
</li>
}
</ul>
现在这是我的动作控制器
public ActionResult AddtoCart(int id)
{
List<Product> list;
if (Session["MyCart"] == null)
{ list = new List<Product>(); }
else
{ list = (List<Product>)Session["MyCart"]; }
list.Add(db.Products.Where(p => p.Product_ID == id).FirstOrDefault());
Session["MyCart"] = list;
return RedirectToAction("Shop");
}
您可以在尝试转换它并访问其属性之前检查您的 Session
是否在 View
上不为空:
@if(Session["MyCart"] != null)
{
foreach (var item in (List<Product>)Session["MyCart"])
{
<li>
<a href="#" class="photo"><img src="@Url.Content(item.Product_Picture)" class="cart-thumb" alt="" /></a>
<h6><a href="#">@item.Product_Name </a></h6>
<p>1x -Rs <span class="price">@item.Product_SalePrice</span></p>
</li>
}
</ul>
}
else
{
<h2>Cart is empty</h2>
}
您应该为您的购物车创建局部视图,然后在需要的地方引用它。部分视图的创建和使用有很多教程可以参考这个tutorial
大家好,我正在尝试使用 Session 将商品添加到购物车,但我遇到了那个问题 System.NullReferenceException: 对象引用未设置为对象的实例。 Check This Image
这是我想要显示购物车商品的视图
@foreach (var item in (List<Product>)Session["MyCart"])
{
<li>
<a href="#" class="photo"><img src="@Url.Content(item.Product_Picture)" class="cart-thumb" alt="" /></a>
<h6><a href="#">@item.Product_Name </a></h6>
<p>1x -Rs <span class="price">@item.Product_SalePrice</span></p>
</li>
}
</ul>
现在这是我的动作控制器
public ActionResult AddtoCart(int id)
{
List<Product> list;
if (Session["MyCart"] == null)
{ list = new List<Product>(); }
else
{ list = (List<Product>)Session["MyCart"]; }
list.Add(db.Products.Where(p => p.Product_ID == id).FirstOrDefault());
Session["MyCart"] = list;
return RedirectToAction("Shop");
}
您可以在尝试转换它并访问其属性之前检查您的 Session
是否在 View
上不为空:
@if(Session["MyCart"] != null)
{
foreach (var item in (List<Product>)Session["MyCart"])
{
<li>
<a href="#" class="photo"><img src="@Url.Content(item.Product_Picture)" class="cart-thumb" alt="" /></a>
<h6><a href="#">@item.Product_Name </a></h6>
<p>1x -Rs <span class="price">@item.Product_SalePrice</span></p>
</li>
}
</ul>
}
else
{
<h2>Cart is empty</h2>
}
您应该为您的购物车创建局部视图,然后在需要的地方引用它。部分视图的创建和使用有很多教程可以参考这个tutorial