【发布时间】:2013-12-22 16:15:54
【问题描述】:
我在我的母版页中定义了这个 ScriptManager:
<asp:ScriptManager runat="server">
<Scripts>
<asp:ScriptReference Name="jquery" />
<asp:ScriptReference Name="bootstrap" />
<asp:ScriptReference Name="respond" />
</Scripts>
</asp:ScriptManager>
我的 BundleConfig.cs 中也定义了这个 ScriptResourceMapping:
ScriptManager.ScriptResourceMapping.AddDefinition("respond",
new ScriptResourceDefinition {
Path = "~/Scripts/respond.min.js",
DebugPath = "~/Scripts/respond.js"
});
ScriptManager.ScriptResourceMapping.AddDefinition("jcrop",
new ScriptResourceDefinition {
Path = "~/Scripts/jquery.jcrop.min.js",
DebugPath = "~/Scripts/jquery.jcrop.js"
});
我可以看到“响应”映射加载正常。
现在我需要仅在特定页面上加载“jcrop”映射,因此,我添加了该页面的页面加载事件:
ScriptManager.GetCurrent(Page).Scripts.Add(new ScriptReference("jcrop"));
ScriptManager.GetCurrent(Page).Scripts.Add(new ScriptReference("~/Scripts/picturecrop.js"));
我可以看到 picturecrop.js 脚本已加载,但 jcrop 映射被忽略了。 没有错误也没有影响。如果我将映射更改为显式路径,它可以正常工作,但我无法利用 Path/DebugPath 的区别。
为了能够以编程方式使用我定义的 ScriptResourceMapping,我缺少什么?
谢谢。
【问题讨论】:
标签: asp.net scriptmanager