2013-08-27 7 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 

Komunikat o błędzie kompilatora: CS1579: oświadczenie foreach nie może działać na zmiennych typu „Task03Entities.Entites” bo „Task03Entities.Entites” robi nie zawierają definicję publiczną dla „GetEnumerator”foreach nie może działać na zmiennych typu definicji publicznej dla „GetEnumerator”

+0

Co to jest "ViewStateList"? –

+0

jest to lista, która konwertuje dane ViewState ... w rzeczywistości najpierw pobieram wszystkie dane z bazy danych, a następnie przechowuję je w widoku, kopiując dane widoku do ViewStateList –

Odpowiedz

11

To proste: Task03Entities.Entites nie jest zbiorem.

zainicjować obiektu tutaj:

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

A potem próbować iteracyjne nad nim, jak gdyby była to kolekcja:

foreach (Task03Entities.Entites item in newViewStateList) 
{ 

} 

Podejrzewam chcesz coś takiego:

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

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

Właściwie chcę pobrać określone elementy z ViewStateList, a następnie zapisać newViewstateList. Na przykład istnieje w sumie 6 pozycji w ViewStateList i chcę uzyskać pojedynczy element jeden raz jeden przez pętlę for, a następnie wyświetlić każdy element przez foreachloop, ponieważ każdy element zawiera wiele plików, takich jak ID FirstName LastName ect ... –

+0

Nieistotne - 'newViewStateList' nie jest kolekcja ** nie możesz iterować nad nią ** - to jest przyczyną twojego błędu. – DGibbs

0

po prostu dodaj @model IEnumerable int the firs linia t zamiast zwykłej linii @model