Це вбудовано дляHttpContext
:
@if (HttpContext.Current.IsDebuggingEnabled)
{
// Means that debug="true" in Web.config
}
IMO, це має більше сенсу, ніж умовна компіляція для переглядів і корисна для деяких сценаріїв тестування. (Дивіться коментар Тоні Уолл нижче.)
Бічна примітка: NullReferenceException
дляHttpContext.Current
Алекс Ангас зауважив, що вони отримують рішення NullReferenceException
з цим рішенням, і кілька людей висловилися за те, що це може бути не поодинокою подією.
Моя найкраща здогадка: HttpContext.Current
зберігається в CallContext
, тобто він доступний лише для потоку, який обробляє вхідний HTTP-запит. Якщо ваші представлення відображаються в іншій потоці (можливо, деякі рішення для попередньо складених подань?), Ви отримаєте null
значення для HttpContext.Current
.
Якщо ви отримаєте цю помилку, будь ласка, повідомте мене в коментарях і зазначте, якщо ви використовуєте попередньо складені представлення даних або щось інше, що може призвести до того, що ваші погляди частково відображаються / виконуються в іншій темі!