ASP.NET 复合脚本路径结果为 404
ASP.NET CompositeScript Path results in 404
如果我使用 ASP.NET ScriptManager/ScriptManagerProxy 控件的 CompositeScript 功能,我无法让 Path 属性正常工作:
我的代码
<asp:ScriptManagerProxy ID="scriptProxy2" runat="server">
<CompositeScript Path="~/Includes/Javascript/Combined.js">
<Scripts>
<asp:ScriptReference Path="~/Includes/Javascript/MyFile1.js" />
<asp:ScriptReference Path="~/Includes/Javascript/MyFile2.js" />
</Scripts>
</CompositeScript>
</asp:ScriptManagerProxy>
我的页面在其中获得了正确的脚本标记:
<script src="../Includes/Javascript/Combined.debug.js" type="text/javascript"></script>
但是,当然,该文件不存在,因此浏览器会得到404。
我错过了什么吗?
您是否指定了源脚本以使用ScriptReference
标签进行组合 - 请参阅文档。
编辑:使用反射器后,我发现如果您使用 指定Path
属性,脚本组合不会发生 - 它只是将脚本引用发送到指定的路径(根据发布/调试模式和区域性进行修改(如果启用了本地化))。谷歌搜索后,发现路径属性的预期用途是解决 1024 个字符的 url 限制。从此 MSDN 文档中:
脚本引用的数目 复合脚本引用实例可以 包含受大小限制 生成的网址。网址不能 长度超过 1024 个字符。
如果你必须解决这个问题 限制,您有两种选择。这 第一种选择是减少数量 的脚本引用对象,即 复合脚本包含。第二个 选项是手动组合 脚本到单个静态文件中。在 在这种情况下,您可以设置路径 属性到静态的位置 文件。
我还偶然发现了这个链接,其中评论部分有大量信息。其中一条评论明确指出,
您可以组合多个物理 使用该功能的脚本文件,但 我们真的不推荐它,因为那里 是否与某些服务器开销相关 文件监控。你是什么 描述处理得更好 在编译时"构建"脚本 时间而不是做组合 在运行时。该功能确实适用于 想要的应用程序开发人员 合并来自各种的现有脚本 他们在他们的 应用。
所以总而言之,我认为你打算如何使用组合脚本既不支持也不推荐。我建议您使用构建时脚本组合 - 以下资源将帮助您实现相同的目标:
http://encosia.com/2009/05/20/automatically-minify-and-combine-javascript-in-visual-studio/
查看 Chirpy 加载项中的捣碎功能:http://www.weirdlover.com/2010/07/18/chirpy-attains-godlike-abilities-in-version-1-0-0-4/#mash
- 奇怪的Javascript结果
- Javascript(jQuery)给了我奇怪的结果
- Javascript:使用绝对路径设置img src
- 如何在d3.js中返回路径的y坐标
- JSONP请求返回结果,但也触发error_callback
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 复制图像路径以单击它
- 从模块内部访问Express装载路径
- JS文件的路径正在消失
- 使用onclick绘制SVG路径
- Javascript,输出结果后页面不断刷新
- 这是使用html快照和谷歌获取的预期结果吗?SEO/SPA
- jpm的默认Firefox路径没有'不起作用
- 如何使用jquery将base64图像路径转换为真实路径
- 将地理编码结果转换为php变量以发布到mysql数据库
- 测试/验证/评估函数中每条路径的结果
- 将路径传递给php将返回未定义的结果
- Raphael-使用transform缩放js路径-意想不到的结果
- Cordova选择视频结果路径而不扩展
- ASP.NET 复合脚本路径结果为 404