Это встроено вHttpContext
:
@if (HttpContext.Current.IsDebuggingEnabled)
{
// Means that debug="true" in Web.config
}
ИМО, это имеет больше смысла, чем условная компиляция для представлений и пригодится для некоторых сценариев тестирования. (См . Комментарий Тони Уолла ниже.)
Примечание стороны: NullReferenceException
дляHttpContext.Current
Алекс Ангас упомянул, что они получили NullReferenceException
это решение, и несколько человек проголосовали, указав, что это не может быть единичным событием.
Мое лучшее предположение: HttpContext.Current
хранится в том CallContext
смысле, что он доступен только потоку, который обрабатывает входящий HTTP-запрос. Если ваши представления отображаются в другом потоке (возможно, некоторые решения для предварительно скомпилированных представлений?), Вы получите null
значение для HttpContext.Current
.
Если вы получили эту ошибку, пожалуйста, дайте мне знать в комментариях и укажите, используете ли вы предварительно скомпилированные представления или что-то особенное, что может привести к частичной визуализации / выполнению ваших представлений в другом потоке!