9
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 

编译器错误消息:CS1579:foreach 语句无法对“Task03Entities.Entites”类型的变量进行操作,因为“Task03Entities.Entites”不包含“GetEnumerator”的公共定义

4

3 回答 3

15

很简单:Task03Entities.Entites不是一个集合。

你在这里初始化一个对象:

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

然后尝试迭代它,就好像它是一个集合一样:

foreach (Task03Entities.Entites item in newViewStateList)
{

}

我怀疑你想要类似的东西:

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

foreach (Task03Entities.Entites item in newViewStateList)
{
    //code...
}
于 2013-08-27T10:19:13.800 回答
2

考虑到消息,您的类型 Task03Entities.Entites不是集合和/或不可枚举类型。所以为了能够使用foreach它,你必须让它成为这样。

例如可以看看:How to make a Visual C# class used in a foreach statement

于 2013-08-27T10:16:09.637 回答
1

只需在第一行添加 @model IEnumerable int 而不是常规的 @model 行

于 2014-03-30T07:12:50.170 回答