Jquery-vsdoc无法使用MVC4 Bundling?并且@ Scripts.Render在_Layout.cshtml中包含上面时没有工作?

时间:2013-02-22 16:30:33

标签: jquery asp.net-mvc razor asp.net-mvc-4

下面是我添加到BundleConfig的vsdoc软件包,并在_Layout.cshtml中呈现了脚本。然而,我无法让jquery intellisense处理视图。到目前为止我唯一能让它工作的方法是粘贴对我正在使用Jquery的视图的引用。另一件事是,如果我在_Layout.cshtml中将脚本渲染到</body>之上,即使是警告框也不起作用。但是,如果我在<head>标记中呈现它,它就有效。为什么 ?任何帮助将不胜感激 - 谢谢

**BundlesConfig**

            bundles.Add(new ScriptBundle("~/bundles/jqueryIntellisense").Include(
            "~/Scripts/jquery-{version}-vsdoc.js"));
**Layout**
</footer>
      @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/jqueryIntellisense")
    @Scripts.Render("~/bundles/modernizr")
    @RenderSection("scripts", required: false)
</body>
</html>
     **View**
<h2>Jquery Test</h2>

<script>
    $(document).ready(function () { alert("hello"); });
</script>

1 个答案:

答案 0 :(得分:4)

VS doc仅供Visual Studio使用。您不需要将其包含在捆绑中。在网页上呈现它可能会破坏您的代码,导致底部的alert无法触发。

要在脚本文件中获取智能感知,请在脚本文件中添加对它的引用:

/// <reference path="path/from/this/script/to/jquery-1.8.2.js" />

有一条快捷方式可以做到这一点。打开要获取jQuery intellisense的脚本文件。然后,在解决方案资源管理器中,找到您的jquery-1.{whateverversion}.js文件。单击该文件并将其从解决方案资源管理器拖动到您的脚本文件,它将自动创建一个具有正确路径的/// <reference

要在视图中获取智能感知,请确保_references.js文件具有对jQuery的引用:

/// <reference path="path/from/_references.js/to/jquery-1.8.2.js" />