Domanda

ASP.NET 3.5 SP1 aggiunge una nuova eccezionale funzionalità ScriptCombining all'oggetto ScriptManager come dimostrato su questo video . Tuttavia, mostra solo come utilizzare la funzione con ScriptManager nella stessa pagina. Vorrei usare questa funzione su un sito in cui lo scriptmanager si trova nella pagina principale ma non riesco a capire come aggiungere gli script di cui ho bisogno per ogni pagina in modo programmatico al gestore. Ho trovato questo post da usare come punto di partenza, ma non sto andando molto lontano. qualcuno può darmi una mano?

Grazie, Dan

È stato utile?

Soluzione

Provaci:

    ScriptReference SRef = new ScriptReference();
    SRef.Path = "~/Scripts/Script.js";


    ScriptManager.GetCurrent(Page).CompositeScript.Scripts.Add(SRef);

Questo otterrà lo scriptmanager corrente (anche se si trova su una pagina master) e aggiungerà un riferimento di script alle proprietà CompositeScript.

Altri suggerimenti

Puoi anche farlo nel markup usando ScriptManagerProxy .

È possibile aggiungere ScriptManager alla pagina principale, ad esempio

<asp:ScriptManager ID="ScriptManager" runat="server">
    <CompositeScript>
    <Scripts>
        <asp:ScriptReference name="WebForms.js" assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
        <asp:ScriptReference name="MicrosoftAjax.js" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <asp:ScriptReference name="MicrosoftAjaxWebForms.js" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </Scripts>
    </CompositeScript>
</asp:ScriptManager>

E quindi aggiungere ScriptManagerProxy alla pagina del contenuto, ad esempio

<asp:Content ID="HomeContent" ContentPlaceHolderID="PlaceHolder" runat="Server">
    <asp:ScriptManagerProxy runat="server">
        <CompositeScript>
        <Scripts>
            <asp:ScriptReference Path="~/yourscript.js" />
        </Scripts>
        </CompositeScript>
    </asp:ScriptManagerProxy>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top