бритвенная переменная не существует - PullRequest
1 голос
/ 20 октября 2011
    @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 ]

5 голосов
/ 20 октября 2011

Попробуйте вот так:

@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 #) в вашей модели представления?

3 голосов
/ 20 октября 2011
@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>
}

Вот так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...