Вам нужен тег <text>
, чтобы указать, что содержимое не оценивается на сервере.Например:
@{
var isOK = true;
}
<script type="text/javascript">
var tmp1 = "";
@if (isOK)
{
<text>
var tmp = "foo";
</text>
}
</script>
выведет на итоговой странице:
<script type="text/javascript">
var tmp1 = "";
var tmp = "foo";
</script>
Что касается предупреждения Expected Constant
, то Razor Intellisense все еще находится в бета-версии, поэтому покаот идеального.Это просто предупреждение, которое вы можете спокойно проигнорировать.Важно то, что приложение работает и выдает корректный HTML.Надеюсь, что это то, что будет исправлено в конечном продукте.Исходя из личного опыта, единственное предупреждение, которому я доверяю, это то, которое генерирует компилятор C #.Когда я работаю в представлении, я спокойно игнорирую все дрянные предупреждения, которые выдает Visual Studio, потому что я знаю, что это неправильно.