использование #if оператора условной компиляции DEBUG на странице aspx - PullRequest
3 голосов
/ 09 марта 2010

Я пытаюсь сделать что-то подобное на странице aspx:

<head runat="server">
    <% #if DEBUG %>
        <script src="jquery-1.3.2.js" type="text/javascript"></script>
    <% #else  %>
        <script src="jquery-1.3.2.min.js" type="text/javascript"></script>
    <% #endif %>
</head>

Я получаю сообщение об ошибке «Директивы препроцессора должны отображаться как первый непробельный символ в строке». Как я могу это сделать?

Ответы [ 2 ]

6 голосов
/ 09 марта 2010
<head runat="server">
  <% 
    #if DEBUG
  %>
    <script src="jquery-1.3.2.js" type="text/javascript"></script>
  <%
    #else
  %>
    <script src="jquery-1.3.2.min.js" type="text/javascript"></script>
  <%
    #endif
  %>
</head>

Работает для меня - обратите внимание, что это основано на значении атрибута debug в элементе <compilation> файла web.config.

Изменить, чтобы ответить на комментарий

А, так вы также добавляете элементы управления в голову через код позади? Тогда вам, вероятно, нужно будет также динамически добавлять это из кода.

Если вы рады, что всегда обслуживаете минимизированную версию, но хотите использовать IntelliSense в Visual Studio, убедитесь, что вы установили исправление, чтобы включить это:

Исправление VS2008 с пакетом обновления 1 для поддержки файлов документов IntelliSense "-vsdoc.js"

Это позволит вам назвать вашу не минимизированную версию jquery-1.3.2.min-vsdoc.js и сделать так, чтобы VS читал ее во время создания страниц.

1 голос
/ 16 декабря 2015

это работает для меня:

<head runat="server">
    <asp:PlaceHolder runat="server">
    <% 
#if !DEBUG 
    %>
    <meta http-equiv="X-UA-Compatible" content="IE=9" />
    <% 
#else 
    %>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <% 
#endif 
    %>
    </asp:PlaceHolder>
</head>
...