我正在使用Razor构建一个菜单,并且正确显示它的问题。这是给我带来问题的那条线:
<li @topNavCurrentCount == @topNavCount ? "class=last" : @string.Empty><a href="@node.Url.Replace("~/","/").Replace(".aspx","")">@node.Title</a>
它像这样呈现HTML:
<li {1 == 7 ? "class=last" : ;}><a href="/Home">Home</a>
我知道我很接近它,但我看不到它。
答案 0 :(得分:2)
尝试在if语句周围放置括号。
<li @(topNavCurrentCount == topNavCount ? "class=last" : string.Empty)>
变量旁边的将打印值
答案 1 :(得分:1)
我认为以下内容可能有效(在声明旁边放置括号):
<li @( topNavCurrentCount == topNavCount ? "class=last" : string.Empty)><a href="@node.Url.Replace("~/","/").Replace(".aspx","")">@node.Title</a>
答案 2 :(得分:1)
您需要使用@()
将逻辑表达式括起来。目前正在进行的是只有您的变量的值被发送到视图。