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'
答案 0 :(得分:12)
很简单: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...
}
答案 1 :(得分:2)
考虑到消息,您的类型Task03Entities.Entites
不是集合和/或不可枚举的类型。因此,为了能够在其上使用foreach
,您必须这样做。
例如,可以查看:How to make a Visual C# class usable in a foreach statement
答案 2 :(得分:0)
添加 @model IEnumerable 在第一行而不是常规@model行