2010-07-22 3 views
6

Поскольку имя каталога virturl не исправлено, я написал код ниже, чтобы включить файл .css на странице .aspx.Включить .css-файлы в asp.net

<link rel="Stylesheet" href="<%= ResolveUrl("~/Css/xxx.css") %>" type="text/css" /> 

Вопрос заключается в том, когда я использую «ResolveUrl» в теге, IDE всегда лает, что все классы CSS не определено.

Есть ли лучший способ определить файл .css, включая?

ответ

17

Вы можете сделать это с помощью элементов управления HTML-сервера (обратите внимание на runat="server") как так:

<link rel="stylesheet" runat="server" media="screen" href="~/css/styles.css" /> 

Это все равно разрешит вам виртуальный каталог. Он также должен поддерживать css intellisense и предупреждения на странице aspx.

+0

Я думаю, что это будет работать даже без runat = "server" –

+3

Тильда (~) Синтаксис URL требует runat = "server". –

+0

Отлично! Большое спасибо! – but

0

IDE не будет знать, что вы включаете этот файл css, просто потому, что он будет генерироваться во время выполнения, а не перед ним.

Если вам нужен intelisense, поместите его вручную и измените позже, когда вам нужно.

3

Вы можете включить файлы статически внутри <% if (false) { %>.

Таким образом, IntelliSense Visual Studio увидит файлы, но время выполнения ASP.Net не будет.
if (false) блок должен быть оптимизирован прочь компилятором, так что должно быть нулевым падение производительности)

+0

Arrrr вы набрали быстрее меня! Это лучшее решение IMO. Вы можете продолжать ссылаться на файлы так, как сейчас, а затем дублировать все свои ссылки с помощью физических путей и обертывать дубликаты в 'if (false) {}' –

Смежные вопросы