如何解决Asp.net Mvc 5.将列表项存储到会话中如何解决此问题
它显示了不同类型的错误 system.nullreferenceexception'对象引用未设置为对象的实例。在MVC 中。我尝试了多种方法,但始终显示空值引用或未设置为对象实例的对象引用。这是一行显示错误“ @foreach(@ (IEnumerable
控制器代码:
List<cartsession> li = new List<cartsession>();
[HttpPost]
public ActionResult addcart(int id)
{
subproducttbl sp = db.subproducttbls.Where(x => x.sp_id == id).SingleOrDefault();
cartsession c = new cartsession();
c.ID = sp.sp_id;
c.sp_name = sp.sp_name;
c.sp_des = sp.sp_des;
c.sp_price = sp.sp_price;
li.Add(c);
Session["cart"] = li;
// TempData.Keep();
return View();
}
检出控制器代码:
public ActionResult checkout()
{
// Session["cart"] = db.productTbls.ToList();
//var cr = db.cartsessions.ToList();
// TempData.Keep();
return View(cr);
CartSession.cs类
public class cartsession
{
[Key]
public int ID { get; set; }
public string sp_name { get; set; }
public string sp_des { get; set; }
public int sp_price { get; set; }
}
结帐HTML代码:
<table class="table table-responsive">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>price</th>
<th>desc</th>
</tr>
</thead>
<tbody>
@foreach(var item in (IEnumerable<addtocartdata.Models.cartsession>)Session["cart"]
@*Session["cart"] as List<addtocartdata.Models.cartsession>*@)
{
<tr>
<td> @item.ID </td>
<td> @item.sp_name </td>
<td> @item.sp_price </td>
<td> @item.sp_des </td>
</tr>
}
</tbody>
</table>
}
else
{
<h2 style = "color:orangered"> cart is ---- </h2>
@Html.ActionLink("Go back","subadsview","products")
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。