MVC 剃刀用于每次抛出编译错误
本文关键字:编译 错误 剃刀 用于 MVC | 更新日期: 2023-09-27 18:37:28
我正在尝试在 razor 中循环访问我的模型中的一些代码。
标签组是标签组(简单)和标签组之外的标签列表。然后,我有一个受访者,他从这个标签组中选择一个标签,他的选择存储在他的受访者数据中。
@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>
无需在 C# 代码部分中添加 @:
@foreach (var tagGroup in @Model.TagGroups)
应该是
@foreach (var tagGroup in Model.TagGroups)
和
var selectedTag = @Model.Respondent.Tags.Where(r => r.Id == (int)tag.Id);
应该是
var selectedTag = Model.Respondent.Tags.Where(r => r.Id == (int)tag.Id);