2016-06-20 2 views
0

У меня есть переменная TempData, которая имеет массив значений. Как я могу получить доступ к значению или преобразовать массив TempData в массив int.TempData в MVC C#

Я пробовал под кодом. но он не работает.

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++) 

Пожалуйста, помогите мне. Как я могу получить значения, используя цикл foreach или foreach.

+1

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

+0

Где находится TempData? Как можно преобразовать TempData? – user3235118

+0

Ваш код: string [] allowRenew = (string []) TempData ["ServiceID"]; Это хорошо. Он преобразует его в строковый массив. – riteshmeher

ответ

0

Вы можете преобразовать массив строк в массив целых чисел:

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

, то вы можете рамочную целочисленный массив.

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

Я только хочу получить массив доступа TempData ["ServiceID"] – user3235118

0

Если вы уверены, что ваш TempData держит только целые числа, то используйте

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

В случае нулевых значений в массиве

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

Я получаю ошибку. {«Невозможно передать объект типа« System.Collections.Generic.List'1 [System.Nullable'1 [System.Int32]] »для ввода« System.Int32 [] '. »} – user3235118

+0

см. Обновление сейчас. –

-1

1) Сделайте свой массив или коллекцию DATAS и назначить его в TempData ["ServiceID"] в методе действий контроллера. 2) В целях сделать ваш Еогеасп итерацию

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

Неправда и не отвечает на вопрос. –

0

Я думаю, что это решение, которое вы ищете:

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

Примечание:

TempData чей базовый тип (TempDataDictionary) оборудование IDictionary<string, object>:

public class TempDataDictionary : IDictionary<string, object> 

Доступ к словарю по ключу возвращает объект - таким образом, вы можете применить к требуемому типу.

Смежные вопросы