在Razor视图中引用JavaScript文件以获取JavaScript Intellisense

时间:2010-11-11 10:07:03

标签: javascript razor javascript-intellisense

Visual Studio提供JavaScript Intellisense。很明智地看到您在主页中引用JavaScript文件(例如jQuery文件),然后在应用程序的任何视图中提供语句完成。然而,这似乎与Razor无关。有没有办法让这个与Razor一起工作? ASPX视图引擎提供了这个技巧,例如:<% /* %><script src="~/Scripts/jquery-1.4.1-vsdoc.js"></script><% */ %>

2 个答案:

答案 0 :(得分:28)

你应该可以这样做:

@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> *@

答案 1 :(得分:9)

为防止编译器警告有关无法访问的代码,您可以使用pragma进一步包装它:

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