2016-06-20 13 views
0

Ich habe eine TempData-Variable, die das Array von Werten hat. Wie kann ich auf den Wert zugreifen oder das TempData-Array in Array-Int konvertieren.TempData in MVC C#

Ich habe unten Code versucht. aber es funktioniert nicht.

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

Bitte helfen Sie mir. Wie kann ich die Werte für for oder foreach loop bekommen.

+1

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

+0

wo ist TempData? Wie kann TempData konvertiert werden? – user3235118

+0

Ihr Code: string [] allowRenew = (string []) TempData ["ServiceID"]; ist gut. Es wird es in String-Array konvertieren. – riteshmeher

Antwort

0

Sie können Ihre String-Array konvertieren Array Integer:

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

dann können Sie die Integer-Array-Schleife.

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

Ich möchte nur zugreifen Array von TempData ["ServiceID"] – user3235118

0

Wenn Sie sicher sind Ihre TempData dann nur ganze Zahlen hält

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

Bei Nullwerten in Array verwenden

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

Ich bekomme einen Fehler. {"Das Objekt des Typs 'System.Collections.Generic.List'1 [System.Nullable'1 [System.Int32]]' konnte nicht in den Typ 'System.Int32 []' 'umgewandelt werden."} – user3235118

+0

Das Update wird jetzt angezeigt. –

-1

1) Machen Sie Ihre Array oder eine Sammlung mit Daten und zuweisen es zu TempData ["ServiceID"] in der Aktionsmethode des Controllers. 2) Nach Ansicht machen Ihre foreach

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

Nicht wahr, und beantwortet die Frage nicht. –

0

iterieren Ich denke, das ist die Lösung die Sie suchen:

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

Hinweis:

TempData deren zugrunde liegenden Typ (TempDataDictionary) Werkzeuge IDictionary<string, object>:

public class TempDataDictionary : IDictionary<string, object> 

Der Zugriff auf das Wörterbuch über den Schlüssel gibt das Objekt zurück - Sie können also auf den gewünschten Typ umwandeln.

Verwandte Themen