我试图在2天内解决这个问题。
错误
编译器错误消息:CS1579:foreach语句无法操作 类型的变量 ' mvc_ado.net_crud.Models.BusinessObject.ContactPerson'因为 ' mvc_ado.net_crud.Models.BusinessObject.ContactPerson'才不是 包含' GetEnumerator'
的公开定义
我的控制器
public ActionResult List()
{
var model = ContactPersonManager.GetList();
return View(model);
}
在我的模特中
public static ContactPersonList GetList()
{
ContactPersonList tempList = null;
using (var myConnection = new SqlConnection(AppConfiguration.ConnectionString))
{
var myCommand = new SqlCommand("uspContactPersonSelectList", myConnection) { CommandType = CommandType.StoredProcedure };
myConnection.Open();
using (var myReader = myCommand.ExecuteReader())
{
if (myReader.HasRows)
{
tempList = new ContactPersonList();
while (myReader.Read())
{
tempList.Add(FillDataRecord(myReader));
}
}
myReader.Close();
}
}
return tempList;
}
我的观点
@foreach (var person in Model)
{
<ul>
<li>
@person.ID;
</li>
</ul>
}
我错过了还是做错了什么?
答案 0 :(得分:13)
而不是
@model mvc_ado.net_crud.Models.BusinessObject.ContactPerson
有
@model IEnumerable<mvc_ado.net_crud.Models.BusinessObject.ContactPerson>
在你看来。
这假定您的ContactPersonList
实现了IEnumerable<ContactPerson>
。如果没有,那么你可以尝试
@model ContactPersonList
但是不清楚自定义类型ContactPersonList
是什么。