Visual Studio предлагает JavaScript Intellisense. Он достаточно умен, чтобы увидеть, что вы ссылаетесь на файлы JavaScript на своих основных страницах (например, файл jQuery), а затем предлагает завершение заявления в любом представлении приложения. Однако, похоже, это не работает с Razor. Есть ли способ заставить это работать с Razor?
Механизм просмотра ASPX предлагает этот трюк, например: <% /* %><script src="~/Scripts/jquery-1.4.1-vsdoc.js"></script><% */ %>
Ссылаясь на файлы JavaScript в представлениях Razor, чтобы получить JavaScript Intellisense
Ответ 1
Вы должны сделать что-то вроде этого:
@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> *@
Ответ 2
Чтобы предотвратить предупреждения компилятора о недостижимом коде, вы можете дополнительно обернуть это прагмой:
@{ #pragma warning disable }
@if (false)
{
<script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
}
@{ #pragma warning restore }