C# 在razor视图上递增时出现编译错误
我试图在razor视图上递增,但“Count”给了我以下错误,我使用System.Linq添加了C# 在razor视图上递增时出现编译错误,c#,arrays,asp.net-core,for-loop,razor,C#,Arrays,Asp.net Core,For Loop,Razor,我试图在razor视图上递增,但“Count”给了我以下错误,我使用System.Linq添加了@但我仍然得到相同的错误。请帮忙。 编译器错误消息: CS1061:“int”不包含“Count”的定义,并且没有接受类型为“int”的第一个参数的扩展方法“Count” 无法找到(是否缺少using指令或程序集 参考?) for(int i=0;iitem.Number,新建) { htmlAttributes=new{@class=“form control”} })
@代码>但我仍然得到相同的错误。请帮忙。
编译器错误消息:
CS1061:“int”不包含“Count”的定义,并且没有接受类型为“int”的第一个参数的扩展方法“Count”
无法找到(是否缺少using指令或程序集
参考?)
for(int i=0;iitem.Number,新建)
{
htmlAttributes=new{@class=“form control”}
})
}
///
///数
///
[显示名称(“编号”)]
公共整数{get;set;}
因为您的型号如下:
public class Model
{
public int Number{get;set;}
}
如果要显示数字+1,可以使用:
@{Model.Number + 1}
大家好,谢谢大家。我通过以下方法解决了这个问题。不需要for循环
var Number = Model.Number + 1;
@Html.DisplayFor(model => Number, new { htmlAttributes = new { @class = "form-control" } })
不能对整数进行迭代。它是一个单一的值。它的值总是1<代码>计数()
仅对集合有效。在实际可以计数的事情上,Integer不能使用.count(),只有IEnumerable支持,请注意,Model.Number[i]
这也会出错。正如您所提到的(Model.Number
)是一个整数。因此,您在模型中放置了一系列数字,只需循环所有数字并将其作为表单控件打印,是吗?视图顶部的@Model指令说明了什么<代码>@model IEnumerable?
var Number = Model.Number + 1;
@Html.DisplayFor(model => Number, new { htmlAttributes = new { @class = "form-control" } })