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