让jquery与MVC4一起工作

时间:2013-09-18 20:48:38

标签: c# jquery asp.net-mvc razor

没有发生。我尝试将_Layout.cshtml中的脚本正常链接到<script src='@Content.Url("...,安装Web优化并使用包,并将@Scripts.Render()放在_Layout.cshtml的head / body / bottom和<script>之前标签在相关页面上。我错过了什么?

目录结构

Views
    Shared
        Js
            jquery-1.10.2.js
            jquery.color-2.1.2.min.js

BundleConfig.cs

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Views/Shared/Js/jquery-{version}.js",
        "~/Views/Shared/Js/jquery.color-{version}.js")
    );
}

的Global.asax.cs

protected void Application_Start()
{
    // blah, etc, then:
    BundleConfig.RegisterBundles(BundleTable.Bundles);
}

_Layout.cshtml

@Scripts.Render("~/bundles/jquery");

我可以在JsFiddle上运行实际的javascript / jquery代码,所以我写的内容的有效性不是问题。

2 个答案:

答案 0 :(得分:0)

BundleCollection类具有IgnoreList属性,其中包含不会呈现的文件名称模式。默认情况下,它会忽略带有min字的名称。您可以在RegisterBundles

中清除此列表
public static void RegisterBundles(BundleCollection bundles)
{
    bundles.IgnoreList.Clear();
    bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Views/Shared/Js/jquery-{version}.js",
        "~/Views/Shared/Js/jquery.color-{version}.js")
    );
}

答案 1 :(得分:0)

让它工作:我所做的只是将脚本移动到另一个文件夹Content/Js,然后通过<script src='@Content.Url("...将其链接起来。 ContentViews位于同一目录级别。

现在一切都很好,但我不知道为什么文件夹很重要。