Razor View Engine子页面中的Javascript Intellisense

ben*_*age 12 javascript intellisense razor asp.net-mvc-3

我正在寻找一种方法来获取我的'master'cshtml文件中引用的.js文件,以获得'child'cshtml文件.

我在主文件中有这样的东西,所以.js文件总是被引用(实际上我在主文件中得到了js intellisense):

if (false)
{
     <script type="text/javascript" src="../scripts/jquery.js"></script>
}
Run Code Online (Sandbox Code Playgroud)

但是,当我在'子'页面中引用master.cshtml文件时,如下所示:

@{
    Layout = "~/Views/Shared/master.cshtml";
}
Run Code Online (Sandbox Code Playgroud)

我没有得到javascript intellisense.我真的不想把脚本标签放在每个子页面的顶部,有很多脚本标签,还有很多子页面!

mar*_*ind 5

Razor编辑器现在无法推断出正在使用哪些脚本文件(这是因为Razor布局页面是通过代码设置的,而编辑器不会执行视图页面).不幸的是,如果您希望JavaScript IntelliSense在您的视图页面中工作,则必须包含这些脚本标记.


MrG*_*igg 1

我也希望能找到解决这个问题的方法。

我发现的最佳选择是始终使用外部 js 文件。使用参考路径在顶部创建一个类似 Master.js 的文件:

/// <reference path="../../Scripts/jquery-1.4.4.js"/>
Run Code Online (Sandbox Code Playgroud)

然后你就可以拥有智能感知了。您仍然需要在新的外部文件之前包含 jquery 文件。