C# razor变量不存在

C# razor变量不存在,c#,asp.net-mvc-3,razor,C#,Asp.net Mvc 3,Razor,它表示“预设”在当前上下文中不存在??谢谢 试着这样做: @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</

它表示“预设”在当前上下文中不存在??谢谢

试着这样做:

    @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>
    }
尽管如此,我还是对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="@(i == 0 ? "selected" : string.Empty)">@preset.Label</a>
    }
@foreach (var preset in Model.PresetReports)
{
    @<a href="#" class="@preset.class">@preset.Label</a>
}
尽管如此,我还是对preset.class有些怀疑。您真的有一个名为class的属性,它是视图模型中c中的保留字,小写c

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


就是这样。

我简化了它,使它更短。我正在检查I==0,然后将所选类添加到href。答案的选项1不起作用,谢谢您的回复。另外,我编辑了我的问题,以便更清楚地解释为什么我要做for循环而不是简单的foreach循环。我简化了它,使它更短。我正在检查I==0,然后将所选类添加到href。答案的选项1不起作用,谢谢您的回复。另外,我编辑了我的问题,以便更清楚地理解为什么我在做for循环而不是简单的foreach循环。