Ссылка на файлы JavaScript в представлениях Razor для получения JavaScript Intellisense - PullRequest
18 голосов
/ 11 ноября 2010

Visual Studio предлагает JavaScript Intellisense.Он достаточно умен, чтобы видеть, что вы обращаетесь к файлам JavaScript на своих главных страницах (например, к файлу jQuery), а затем предлагает завершение оператора в любом представлении приложения.Однако это не похоже на работу с Razor.Есть ли способ заставить это работать с Razor?Механизм просмотра ASPX предлагает этот прием, например: <% /* %><script src="~/Scripts/jquery-1.4.1-vsdoc.js"></script><% */ %>

Ответы [ 2 ]

28 голосов
/ 13 ноября 2010

Вы должны быть в состоянии сделать что-то вроде этого:

@if (false) {
<script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
}

Таким образом, код никогда не будет работать при запуске приложения, но VS не будет знать о if (false), поэтому он будет анализироватьтег <script> и позволит Intellisense принять его во внимание.Проблема с использованием комментариев Razor в файлах Razor заключается в том, что VS распознает их и полностью игнорирует все, что находится внутри них.Например, это не будет работать:

@* <script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script> *@
9 голосов
/ 16 ноября 2011

Чтобы предотвратить предупреждения компилятора о недоступном коде, вы можете дополнительно обернуть это прагмой:

@{ #pragma warning disable }
@if (false) 
{ 
    <script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script> 
} 
@{ #pragma warning restore } 
...