Bundling a ScriptManager znovu: ještě jednodušší, než jsme čekali

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.

  • Altairis
  • Nemesis
  • Microsoft MVP
  • IIS
  • ASP.NET