То, что сказано в ответах, действительно для кода C#
, а также для ASP.NET "codebehind" C # кода. Для веб-проектов ASP.NET , если вы хотите также выполнить условную компиляцию на страницах ASPX, она работает несколько иначе, чтобы условно отображать HTML на странице (обратите внимание, я удалил MasterPageFile="..." AutoEventWireup="true" CodeBehind="..." Inherits="..."
, который обычно в декларации <%@ ... %>
):
<%@ Page Title="MyPage" Language="C#" CompilerOptions="/d:DebugSym1;DebugSym2" %>
<% #if DebugSym1 %>
<h4>Section1</h4>
<% #else %>
<h4>(Section 1 skipped)</h4>
<% #endif %>
<% #if DebugSym2 %>
<h4>Section2</h4>
<% #else %>
<h4>(Section 2 skipped)</h4>
<% #endif %>
Если вы удалите DebugSym1
или DebugSym2
из CompilerOptions
, то будет отображена часть #else
соответствующего оператора #if
.
Я подумал, что это стоит упомянуть для полноты этой темы и может сэкономить ваше время. Больше вы можете найти в этой статье , если вам интересно.