【发布时间】:2016-05-28 22:35:27
【问题描述】:
我一直在尝试为我现有的 asp.net webforms 项目实施捆绑和缩小,不幸的是它最终得到了 404 响应。
让我先分享我遵循的步骤。
通过 nuget 安装
System.Web.Optimization。添加
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"));
...
- 在 aspx 页面中添加了以下标记
<asp:PlaceHolder runat="server"> <%: System.Web.Optimization.Scripts.Render("~/bundles/modelJs") %> </asp:PlaceHolder>
- 设置 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