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