2011-10-19 96 views
1
@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> 
    } 

它說,「預設」不存在於當前上下文存在。 ??謝謝!剃刀變量不存在

回答

2
@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> 
} 

這樣做。

5

嘗試這樣的:

@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#中的保留字)?

+0

我簡化了它以縮短它。我正在檢查,如果我== 0然後添加類「選定」的HREF。答案選項1不起作用,謝謝你的迴應。 PS。我編輯了我的問題,以便更好地理解爲什麼我要做for循環而不是簡單的foreach循環。 –