3
我有这样的ScriptManager在我的母版页定义:如何以编程方式向脚本集合中添加已定义的ScriptResourceMapping?
<asp:ScriptManager runat="server">
<Scripts>
<asp:ScriptReference Name="jquery" />
<asp:ScriptReference Name="bootstrap" />
<asp:ScriptReference Name="respond" />
</Scripts>
</asp:ScriptManager>
我也有这个ScriptResourceMapping在我BundleConfig.cs定义:
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”映射只在特定页面上加载,从而,IL该页面我添加的页面加载事件:
ScriptManager.GetCurrent(Page).Scripts.Add(new ScriptReference("jcrop"));
ScriptManager.GetCurrent(Page).Scripts.Add(new ScriptReference("~/Scripts/picturecrop.js"));
我可以看到picturecrop.js脚本加载,但jcrop映射简单地被忽略。 没有错误也没有影响。如果我将映射更改为显式路径,它可以正常工作,但我无法利用Path/DebugPath区分。
我错过了什么能够以编程方式使用我定义的ScriptResourceMapping?
谢谢。