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?
謝謝。