0
我想通過剃刀中的模型循環一些代碼。MVC剃刀foreach拋出編譯錯誤
TagGroups是TagGroups(簡單)和標籤組成的標籤組的列表。然後我有一個應答者從這個標籤組中選擇了一個標籤,他的選擇存儲在他的應答者數據中。
@foreach (var tagGroup in @Model.TagGroups)
{
<optgroup label="@tagGroup.Name">
@foreach (var tag in tagGroup.Tags)
{
var selectedTag = @Model.Respondent.Tags.Where(r => r.Id == (int)tag.Id);
if (selectedTag != null)
{
<option selected="selected">@tag.Name</option>
}
else
{
<option>@tag.Name</option>
}
}
</optgroup>
}
問題是這會引發編譯錯誤?我甚至試圖在if selectedTag之前添加「@」,然後在代碼塊中說@不是必需的。
我想輸出看起來像這樣:
<optgroup label="NFC NORTH">
<option selected="selected">Chicago Bears</option>
<option>Detroit Lions</option>
<option>Green Bay Packers</option>
<option>Minnesota Vikings</option>
</optgroup>
如果你有編譯錯誤,你應該張貼錯誤消息 –
旁註:'Enumerable.Where'永遠不會返回空... –