如何从tempdata访问数组元素

时间:2014-04-24 18:37:14

标签: arrays asp.net-mvc

我的问题本质上相当简单,但到目前为止我在StackExchange或Google的任何地方都找不到任何答案。

情况如下:

我有一个ASP.NET MVC 5项目,我需要将一个布尔值数组传递给视图。数组大小设置为客户记录中项目的长度。例如:

var count = Customer.Items.Count;
    int index = 0;
    bool[] allowRenew = new bool[count];

然后我通过这样的foreach循环后更新数组:

foreach (var item in Customer.Items)
{
  if(conditionA)
  {
     allowRenew[index] = false;
  }
  else
  {
     allowRenew[index] = true;
  }
  index += index;
}

最后,我将数组分配给TempData,以便我可以从我的视图中访问它,如下所示:

TempData["allowRenew"] = allowRenew;

所以这就是问题,如何从我的视图中访问数组元素?我计划使用foreach循环来生成标记并根据递增的索引访问数组元素。

通常,您可以像这样访问数组元素:

array[1]

array[2]

但是因为我使用TempData,所以我不知道如何引用数组元素。例如:

TempData["allowRenew"][0]

TempData["allowRenew"][1]

显然不能工作。

非常感谢任何建议。

谢谢。

1 个答案:

答案 0 :(得分:3)

实际上很容易;只需在视图中为它创建一个变量:

bool[] allowRenew = (bool[])TempData["allowRenew"];