为什么第一个分段有效,第二个分支在标签标记处出现“无效的表达式术语'<
”错误?
第一段:
@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>
}
第二部分:
@{
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。
答案 0 :(得分:1)
问题是ForEach
是一个接受lambda表达式的方法,因此,您无法在此范围内传递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>
}
}