2013-08-27 1 views
6
Task03Entities.Entites entities = new Task03Entities.Entites(); 

// Creat a object for my entites class 
Task03BAL.BAL bal = new Task03BAL.BAL(); 

// creat a object of BAL to call Get Data Method 
List<Task03Entities.Entites> entitiesList = new List<Task03Entities.Entites>(); 

// make a list of class Entities 
entitiesList = bal.GetData(entities); 

// store data in list 
ViewState.Add("Products", entitiesList.ToArray()); 

// use view state to store entitieslist 
Task03Entities.Entites[] entitiesArray =(Task03Entities.Entites[])ViewState["Products"]; 
List<Task03Entities.Entites> ViewStateList =new List<Task03Entities.Entites(entitiesArray); 

// so now ViewStateList contain entitieslist data 
// Now the Problem which i am facing is 
if (Request.QueryString["count"] != null) // this is okay 
{ 
    listCount =Convert.ToInt32(Request.QueryString["count"]); 
} 

for (int i = (listCount * 2)-2; i < listCount * 2; i++) 
{ 
    Task03Entities.Entites newViewStateList = new Task03Entities.Entites(); 
    newViewStateList = ViewStateList[i]; 

// view state contain a list of data here on above line m trying to acess single data 
%> 
<table> 
<%     

foreach (Task03Entities.Entites item in newViewStateList) 
// on above line i am getting following error message 

Compiler-Fehlermeldung: CS1579: foreach-Anweisung kann nicht auf Variablen vom Typ ‚Task03Entities.Entites‘ arbeiten, da ‚Task03Entities.Entites‘ tut keine öffentliche Definition enthalten für foreach-Anweisung kann nicht für ‚GetEnumerator‘ auf Variablen des Typs öffentliche Definition arbeiten

+0

Was ist 'ViewStateList'? –

+0

es ist eine Liste, die ViewState Daten ... eigentlich zuerst hole ich alle Daten aus der Datenbank dann speichern Sie es in einem Viewstate die Viewstate-Daten in ViewStateList kopieren –

Antwort

11

Es ist ganz einfach: Task03Entities.Entites keine Sammlung ist.

Sie initialisieren ein Objekt hier:

Task03Entities.Entites newViewStateList = new Task03Entities.Entites(); 

Und dann versuchen, über sie zu durchlaufen, als ob es sich um eine Sammlung waren:

foreach (Task03Entities.Entites item in newViewStateList) 
{ 

} 

Ich will dich wie etwas vermuten:

List<Task03Entities.Entites> newViewStateList = new List<Task03Entities.Entites>(); 

foreach (Task03Entities.Entites item in newViewStateList) 
{ 
    //code... 
} 
+0

Eigentlich möchte ich bestimmte Elemente von ViewStateList und dann speichern newViewstateList. Zum Beispiel gibt es insgesamt 6 Elemente in ViewStateList und ich möchte einzelnes Element eins für for loop und dann jedes Element durch foreachloop anzeigen, da jedes Element viele Felder wie ID FirstName Nachname enthalten ... –

+0

Irrelevant - 'newViewStateList' ist nicht eine Sammlung ** Sie können nicht darüber iterieren ** - das ist die Ursache für Ihren Fehler. – DGibbs

0

einfach hinzufügen @model IEnumerable int die Tannen t Linie statt Ihrer normalen @ Modelllinie