剃刀变量不存在

本文关键字:不存在 变量 剃刀 | 更新日期: 2023-09-27 18:11:40

    @for(int i = 0; i < this.Model.PresetReports.Count; i++) {
        @{ var preset = this.Model.PresetReports.ElementAt(i); }
        <a href="#" class="@(i == 0 ? "selected" : string.Empty)">@preset.Label</a>
    }

它说"预设"在当前上下文中不存在。 ?? 谢谢!

剃刀变量不存在

尝试如下:

@for(int i = 0; i < this.Model.PresetReports.Count; i++) 
{
    var preset = this.Model.PresetReports.ElementAt(i);
    @<a href="#" class="@preset.class">@preset.Label</a>
}

但我真的不明白为什么你不使用在你的场景中更有意义的foreach循环:

@foreach (var preset in Model.PresetReports)
{
    @<a href="#" class="@preset.class">@preset.Label</a>
}

话虽如此,我对preset.class有些怀疑.您的视图模型上确实有一个名为 class 的属性(带有小写c,这是 C# 中的保留字(?

@for(int i = 0; i < this.Model.PresetReports.Count; i++) {
    var preset = this.Model.PresetReports.ElementAt(i);
    <a href="#" class="@preset.class">@preset.Label</a>
}

这就行了。