Синтаксис бритвы в меню - PullRequest
       1

Синтаксис бритвы в меню

2 голосов
/ 01 декабря 2011

Я создаю меню с помощью 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 ]

2 голосов
/ 01 декабря 2011

попробуйте заключить в скобки оператор if.

<li @(topNavCurrentCount == topNavCount ? "class=last" : string.Empty)>

@ рядом с переменной выводит значение

1 голос
/ 01 декабря 2011

Вы должны заключить свое логическое выражение в @().В настоящее время происходит только то, что только значения вашей переменной отправляются в представление.

См .: Razor If / Else синтаксис условного оператора

1 голос
/ 01 декабря 2011

Я думаю, что может сработать следующее (заключив скобки в оператор):

<li @( topNavCurrentCount == topNavCount ? "class=last" : string.Empty)><a href="@node.Url.Replace("~/","/").Replace(".aspx","")">@node.Title</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...