Подтвердить что ты не робот

Почему этот код не удаляет макет?

Я потратил некоторое время на попытку удалить макет (определенный в _ViewStart), используя:

@Layout = ""

и

@Layout = null

Почему он работает только с помощью блока?

@{
  Layout = "";
}

В моем видении оба пути должны работать.

4b9b3361

Ответ 1

@Layout - самородка кода.
Он печатает значение свойства Layout.

Парсер Razor останавливается в пространстве после слова Layout, поэтому = null анализируется как буквальная разметка.

Вы хотите выполнить инструкцию, а не печатать значение, поэтому вам нужно использовать блок кода (@{ ... }).

Для получения дополнительной информации см. мой пост в блоге.