MVC中的TempData c#

时间:2016-06-20 11:59:21

标签: c# asp.net-mvc

我有一个具有值数组的TempData变量。如何访问该值或将TempData数组转换为数组int。

我试过下面的代码。但它不起作用。

string[] allowRenew = (string[])TempData["ServiceID"];
foreach (var data in TempData["ServiceID"] as List<int>)
{
    serviceIDList.Add(data.ToString());
}

for (int i = 0; (object[])TempData["ServiceID"].Count; i++)

请帮帮我。如何使用for或foreach循环获取值。

4 个答案:

答案 0 :(得分:0)

您可以将字符串数组转换为整数数组:

int[] intArray = Array.ConvertAll(allowRenew , int.Parse);

然后你可以循环整数数组。

for(int i=0;i<intArray.Length-1;i++)
{
}

答案 1 :(得分:0)

如果您确定您的tempdata仅包含整数,请使用

int[] temp = (int[])TempData["ServiceID"];

如果数组中的值为空值

int?[] temp = Array.ConvertAll(TempData["ServiceID"], TryParseInt32);

答案 2 :(得分:0)

我认为这是您正在寻找的解决方案:

int[] temp = (int[])TempData["ServiceID"];

注意

TempData,其基础类型(TempDataDictionary)实现IDictionary<string, object>

public class TempDataDictionary : IDictionary<string, object>

按键访问字典会返回对象 - 因此,您可以转换为所需的类型。

答案 3 :(得分:-1)

1)使用数据创建数组或集合,并将其分配给Controller的Action Method中的TempData [&#34; ServiceID&#34;]。 2)在视图中使你的foreach迭代

foreach (var data in TempData["ServiceID"] as type of array/collectin assigned in the controler)  
{  
    //do want you want with the data
}