Я пытаюсь вложить foreach в if / else, используя Razor, но у меня возникают некоторые проблемы с Razor, утверждающим, что у меня отсутствует закрывающая скобка. Ниже приведен код, где я заметил «остальное», которое не выделяется синтаксисом в Visual Studio, и я предполагаю, что именно в этом заключается проблема:
@if (ViewBag.user.administrativeRole != null)
{
<select name="administrativeRole" id="administrativeRole" class="selectInput" disabled="disabled">
}
else // this else isn't syntax highlighted
{
<select name="administrativeRole" id="administrativeRole" class="selectInput">
@foreach (var role in ViewBag.roles)
{
if (ViewBag.user.administrativeRole != null && ViewBag.user.administrativeRole == role.superadmin)
{
<option value="@role.id" selected="selected">@role.name</option>
}
else
{
<option value="@role.id">@role.name</option>
}
}
}
</select>
, которая генерирует следующую ошибку:
В блоке if отсутствует закрывающая "}"
персонаж. Убедитесь, что у вас есть
соответствующий символ "}" для всех
символы "{" в этом блоке и
что ни один из символов "}" не является
интерпретируется как разметка.
Line 58: @if (ViewBag.user.administrativeRole != null)
Line 59: {
Line 60: <select name="administrativeRole" id="administrativeRole" class="selectInput" disabled="disabled">
Есть мысли? Полагаю, я просто немного изменил синтаксис, так как я новичок в Razor.