Na své přednášce o práci s JavaScriptem a CSS v ASP.NET jsem tvrdil, že mezi bundlingem a ScriptManagerem není žádné propojení a představil jsem dva způsoby, jak jej realizovat.
Ukázalo se, že jsem se mýlil a že v nejnovější dostupné verzi takové propojení je a dokonce je automaticky funkční – děkuji Adamovi Hörzenbergerovi, že mne na to upozornil.
Stačí prostě vytvořit bundle a zaregistrovat jeho ScriptResourceDefinition, například takto:
// Local JavaScript files
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/SiteJs").Include(
"~/Scripts/site/*.js"));
// Register script resource mapping for local JavaScript files
ScriptManager.ScriptResourceMapping.AddDefinition("SiteBundle",
new ScriptResourceDefinition { Path = "~/bundles/SiteJs" });
Poté se na něj můžete odkázat ze stránky pomocí ScriptManageru:
<asp:ScriptManager runat="server">
<Scripts>
<asp:ScriptReference Name="SiteBundle" />
</Scripts>
</asp:ScriptManager>
To je vše. Hash pro cache busting se dopočítá automaticky.