Вопрос:

Razor If / Else условный синтаксис оператора

asp.net-mvc-3 razor

129059 просмотра

1 ответ

5806 Репутация автора

Не повезло, у меня есть следующее выражение if / else в Razor, которое отлично работает

<small>
  @if(deletedView){
     @:Deleted
  } 
  else {
     @:Created
  } by
</small> 

Я пытаюсь сделать что-то вроде этого:

<small>
  @(deletedView) ? @:Deleted : @:Created by
</small>

Но это с треском проваливается. Какой правильный синтаксис?

Автор: B Z Источник Размещён: 05.01.2011 06:34

Ответы (1)


176 плюса

6044 Репутация автора

Решение

Вы должны поместить все троичное выражение в круглые скобки. К сожалению, это означает, что вы не можете использовать «@:», но вы можете сделать что-то вроде этого:

@(deletedView ? "Deleted" : "Created by")

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

Автор: Andrew Stanton-Nurse Размещён: 05.01.2011 06:49
32x32