在foreach中使用Session变量

时间:2018-07-10 18:28:15

标签: c# asp.net-mvc razor

是否可以在cshtml文件中使用foreach并使用Session变量?

我想做这样的事情:

@foreach (var item in Session["Cart"])

有可能吗?

2 个答案:

答案 0 :(得分:2)

if(Session["Cart"] != null)
{
    foreach (var item in (Session["Cart"] as List<[type]>))
    {
       //do whatever you need to do
    }
}

所以答案是肯定的

答案 1 :(得分:2)

只要存储在Session["Cart"]中的对象实现IEnumerable(包括数组和旧式集合)或IEnumerable<T>(包括通用集合),就可以在{ {1}}循环。

foreach

在您的cshtml中:

public void MyActionMethod()
{
    var list = Session["Cart"] as IEnumerable<Products>;
    if (list == null) throw new Exception("Cart not found or cannot be enumerated.");

    return View(list.ToList());
}