Подтвердить что ты не робот

Ссылаясь на файлы JavaScript в представлениях Razor, чтобы получить JavaScript Intellisense

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

4b9b3361

Ответ 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 }