【问题标题】:asp.net Webforms Bundling & minification - Bundled script throws 404asp.net Webforms Bundling & minification - 捆绑脚本抛出 404
【发布时间】:2016-05-28 22:35:27
【问题描述】:

我一直在尝试为我现有的 asp.net webforms 项目实施捆绑和缩小,不幸的是它最终得到了 404 响应。

让我先分享我遵循的步骤。

  1. 通过 nuget 安装 System.Web.Optimization

  2. 添加 BundleConfig 类并在 Glabal.asax Application_Start 事件中注册它

我的代码来捆绑 JS 文件。

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/bundles/modelJs").Include( 
    "~/src/model.js", 
    "~/src/calender.js", 
    "~/src/common.js", 
    "~/src/insurance.js")); 

...

  1. 在 aspx 页面中添加了以下标记
 <asp:PlaceHolder runat="server"> 
    <%: System.Web.Optimization.Scripts.Render("~/bundles/modelJs") %> 
    </asp:PlaceHolder>
  1. 设置 BundleTable.EnableOptimizations = true;在 bundleConfig 中形成的 url 是

http://localhost:9011/bundles/modelJs/?v=xNmmFhbzC1isUARLQne-XoBRkWBWApbnRQX8AGvNxQY1

我还检查了添加到 VS2013 webforms 应用程序中的示例项目,令人惊讶的是,它似乎工作正常。

我在 SO 上看到过很多类似问题的问题,但无法解决。

【问题讨论】:

  • 正如聊天中所讨论的,生成的 URL 看起来是错误的,“modelJs”和查询字符串之间有一个斜线。您确认没有重写规则,如果没有包装 Render() 的 存在同样的问题,并且直接导航到 /bundles/modelJs URL 不会显示任何内容。我还是很难过!

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


【解决方案1】:

嗯,解决方案非常简单。在本例中为 modeljs 的捆绑文件夹后添加了“/”。

 bundles.Add(new ScriptBundle("~/bundles/modelJs/").Include( 

不幸的是,我没有在任何可用的源代码中找到这个,所以我最终浪费了很多时间。 :-/

【讨论】:

  • 你做对了!我不在乎有人不喜欢这个网站上的谢谢。谢谢!
猜你喜欢
  • 2012-09-11
  • 1970-01-01
  • 1970-01-01
  • 2017-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-02
  • 1970-01-01
相关资源
最近更新 更多