【问题标题】:Bundling querysting token is not being generated未生成捆绑查询令牌
【发布时间】:2013-08-16 23:13:49
【问题描述】:

我正在尝试新的 Web.Optimizations 捆绑和最小化程序,并按照示例进行操作,但它没有生成查询字符串的标记部分:

bundles.Add(new ScriptBundle("~/Scripts/test")
    .Include(
        "~/Scripts/jquery.validate.min.js"
    )
);

但是渲染出来的 HTML 是

<script src="/Scripts/test" type="text/javascript"></script>

查询字符串令牌发生了什么?我希望它会呈现类似

<script src="/Scripts/test?v=8HZAB6C8ZnrIPYNFzMQKt0AR4AUsUYBjxPPkbGSRIZo1" type="text/javascript"></script>

我确实在 web.config 中将调试设置为 false

编辑:只是为了澄清 - 捆绑和最小化确实有效。但它不会以?v=random 的形式生成查询字符串标记

【问题讨论】:

    标签: c# asp.net-mvc-4 bundling-and-minification system.web.optimization


    【解决方案1】:

    如果您处于调试状态,它不会捆绑。必须关闭调试才能使用令牌进行捆绑。

    来自tutorial

    通过设置值启用或禁用捆绑和缩小 Web.config 中编译元素中的调试属性 文件

    您可以使用以下命令覆盖该行为:

    BundleTable.EnableOptimizations = true;
    

    【讨论】:

    • 检查“控制捆绑和缩小”部分:asp.net/mvc/tutorials/mvc-4/bundling-and-minification
    • 捆绑和最小化确实有效。但它不会以 ?v=random 的形式生成查询字符串标记
    • @JK 可能是因为你没有使用 Styles.Render 方法。
    • @JK。它在 System.Web.Optimization 命名空间中定义,它不应该需要 Razor。在您的视图中导入命名空间并像常规方法一样调用它。
    • +1 谢谢,&lt;%= Scripts.Render("~/Scripts/test") %&gt; 解决了它
    【解决方案2】:

    您需要在视图中使用Styles.Render 方法:

    @Styles.Render("~/Scripts/test")
    

    您还需要从 Web.config 禁用调试模式:

    <system.web>
        <compilation debug="false" targetFramework="4.5" />
    </system.web>
    

    【讨论】:

      猜你喜欢
      • 2021-08-22
      • 1970-01-01
      • 2018-09-16
      • 1970-01-01
      • 2019-12-20
      • 1970-01-01
      • 2013-10-01
      • 2017-01-22
      • 2018-01-21
      相关资源
      最近更新 更多