2013-05-16 8 views
0

Im скопирована это тройной от другого SO сообщения:Некорректной Бритвы тройной синтаксис

<td><input type="button" value="Delete" class="DeleteButton" id="@("D" + param.QueueId)" @{ if(param.StatusId != 1) { @:disabled="disabled" } } /></td> 

Но это может привести к ошибкам компиляции.

Конец файла или неожиданный символ был достигнут до того, как тег ввода мог быть проанализирован.

+3

Я не вижу здесь «тройного» – haim770

+0

О, да, вы правы. потому что, конечно, тройной является эквивалент if if else. Виноват. Я прошу проголосовать за ваш комментарий за свою явную полезность, мое единственное сожаление - я не могу дать бонусные баллы за одинарные кавычки и добавленное жало. – DavidB

ответ

2

@: вызывает проблемы, так как он не знает, где выходные концы и Razor начинается, попробуйте заменить его :

 
<text>disabled="disabled"</text> 
+0

thankyou Haim. Это сработало. – DavidB

1

Попробуйте изменить:

@{ if(param.StatusId != 1) { @:disabled="disabled" } } 

к:

@(param.StatusId != 1 ? "disabled='disabled'" : string.Empty) 
+0

Thankyou, но я принимаю haims только потому, что я не хочу использовать else для вывода string.empty. – DavidB

Смежные вопросы