1

<最初のセグメントが機能し、2 番目のセグメントがラベル タグで「無効な表現用語 ' ' エラーをスローするのはなぜですか?

最初のセグメント:

@foreach( var f in new List<List<string>>{ new List<string>{ new List<string>{ "PumpSize", "Pump Size" },
new List<string>{ "PumpType", "Pump Type" }, 
new List<string>{ "WellHead", "Well Head" } } )
{
    <label>@f[1]
    </label>
}

2 番目のセグメント:

@{
    var fields = new List<List<string>>{ new List<string>{ new List<string>{ "PumpSize", "Pump Size" },
        new List<string>{ "PumpType", "Pump Type" }, 
        new List<string>{ "WellHead", "Well Head" } };
    fields.ForEach( f => 
    {
        <label>@f[1]</label>
    } );
}

私が得るエラーは<label>、「無効な表現用語 ' <'.

問題があれば、私のブラウザは IE9 です。

4

1 に答える 1

1

問題はForEach、ラムダ式を受け入れるメソッドであるため、このスコープで View (または HTML の一部) コードを渡すことができないことです。foreach単純なループを使用することをお勧めします。

@foreach(var field in fields) {
   <label>@field[1]</label>
}

このアプローチに問題がある場合は、<text>razor タグを使用することもできます。

@{

  foreach(var field in fields) {
    <text> 
       <label>@field[1]</label>
    </text>
  }

}
于 2013-09-19T19:49:02.037 に答える