您的位置:首页 > 其它

@Scripts “does not exist”

2016-07-11 13:23 393 查看


解决方案:

1.在web.config文件中添加<add namespace="System.Web.Optimization"/>,如下:

<system.web.webPages.razor>

    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

    <pages pageBaseType="System.Web.Mvc.WebViewPage">

      <namespaces>

        <add namespace="System.Web.Mvc" />

        <add namespace="System.Web.Mvc.Ajax" />

        <add namespace="System.Web.Mvc.Html" />

        <add namespace="System.Web.Optimization"/>

        <add namespace="System.Web.Routing" />

        <add namespace="MvcShopping" />

      </namespaces>

    </pages>

  </system.web.webPages.razor>

2.如果还是报错,需要引用程序集System.Web.Optimization.dll,可以通过NuGet引用。

此程序集的作用是 对javascript和style的引入(ScriptBundle和StyleBundle)、代码合并和压缩的优化(Bundling and Minification )。

目前我使用到的就是对javascript和style的引入。具体引用的文件定义在App_Start文件夹的BundleConfig.cs文件内(不知为何,我建的MVC空项目并没有这个源文件,我是从其它项目中直接Copy过来的),内容如下:

using System.Web.Optimization;

namespace MvcShopping
{
public class BundleConfig
{
// 有关绑定的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=301862 public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));

bundles.Add(new ScriptBundle("<span style="color:#ff0000;"><strong><em>~/bundles/jqueryval</em></strong></span>").Include(
"~/Scripts/jquery.validate*"));

// 使用要用于开发和学习的 Modernizr 的开发版本。然后,当你做好
// 生产准备时,请使用 http://modernizr.com 上的生成工具来仅选择所需的测试。
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));

bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/bootstrap.js",
"~/Scripts/respond.js"));

bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.css",
"~/Content/site.css"));
}
}
}


在View中引用的JS文件就是上面代码中红色字体后面Include的JS文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: