【发布时间】:2021-07-27 10:52:41
【问题描述】:
我正在尝试增加剃刀视图,但“计数”给了我以下错误,我添加了@using System.Linq;,但我仍然遇到同样的错误。请协助。
编译器错误信息:
CS1061:“int”不包含“Count”的定义,并且没有扩展方法“Count”接受“int”类型的第一个参数 可以找到(您是否缺少 using 指令或程序集 参考?)
for (int i = 0; i < Model.Number.Count(); i++)
{
var item = Model.Number[i];
@Html.DisplayFor(model => item.Number, new
{
htmlAttributes = new { @class = "form-control" }
})
}
/// <summary>
/// Number
/// </summary>
[DisplayName("Number")]
public int Number { get; set; }
【问题讨论】:
-
你不能迭代一个整数。它是一个单一的值。它的值始终为 1。
Count()仅适用于集合。在事情上,你实际上可以数数。 -
整数不能使用.Count(),只有IEnumerable支持
.Count() -
请注意
Model.Number[i]这也会出错。正如您所提到的 (Model.Number) 是一个整数。 -
因此,您在模型中放置了一系列数字,并且只想遍历所有数字并将它们打印为表单控件,是吗?
-
您视图顶部的@model 指令说明了什么?
@model IEnumerable<int>?
标签: c# arrays asp.net-core for-loop razor