【发布时间】:2011-05-14 04:44:22
【问题描述】:
我正在尝试使用 Razor 在 if/else 中嵌套一个 foreach,但我遇到了 Razor 的一些问题,声称我缺少右括号。代码如下,我注意到 Visual Studio 没有突出显示语法的“else”,我猜这就是问题所在:
@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 的新手。
【问题讨论】:
标签: asp.net-mvc-3 razor