没有发生。我尝试将_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代码,所以我写的内容的有效性不是问题。
答案 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("...
将其链接起来。 Content
与Views
位于同一目录级别。
现在一切都很好,但我不知道为什么文件夹很重要。