我的 razor View 出现错误:
foreach statement cannot operate on variables of type 'Project.Model.ResultsClass' because 'Project.Model.ResultsClass' does not contain a public definition for 'GetEnumerator'
这是我的 foreach
以及我如何定义 Model
@model Project.Models.ResultsClass
@foreach (var item in Model) {
}
Controller 方法如下:
public ActionResult Results()
{
var results = db.Data.SqlQuery("SELECT * FROM Results").ToList();
ResultsClass result = new ResultsClass();
result.previewID = results[0].id;
result.dateSlot = results[0].dateSlot;
result.timeSlot = results[0].timeSlot;
result.startTime = results[0].startTime;
result.dateCreated = results[0].dateCreated;
return View(result);
}
这是我的类(class):
public class ResultsClass
{
[DisplayName("Preview ID")]
public int previewID { get; set; }
[DisplayName("Date")]
public string dateSlot { get; set; }
[DisplayName("Time")]
public string timeSlot { get; set; }
[DisplayName("Start Time")]
public DateTime startTime { get; set; }
[DisplayName("Completed Time")]
public DateTime dateCreated { get; set; }
}
我不明白我做错了什么?
最佳答案
您已经传递了 result
,它是 ResultsClass
的一种类型,而不是 ResultsClass
的集合,然后尝试迭代它作为如果它是一个集合,那么您不能在 foreach
循环中使用它。所以为了能够使用 foreach
在它上面,你必须把它做成一个集合。例如,如果您传递 results
而不是 result
,您的 foreach
循环将起作用:
return View(results);
@model List<Project.Models.ResultsClass>
@foreach (var item in Model) {
}
关于c# - 获取错误 foreach statement cannot operate on variables of type '' because '' does not contain a public definition for 'GetEnumerator',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46202864/