菜单中的Razor语法

时间:2011-11-30 23:10:28

标签: razor

我正在使用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>

我知道我很接近它,但我看不到它。

3 个答案:

答案 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)

您需要使用@()将逻辑表达式括起来。目前正在进行的是只有您的变量的值被发送到视图。

请参阅: Razor If/Else conditional operator syntax