2008-11-06 13 views
1

ASP.NET 3.5 SP1 ajoute une nouvelle fonction ScriptCombining à l'objet ScriptManager, comme illustré sur this video. Cependant, il montre seulement comment utiliser la fonctionnalité avec le ScriptManager sur la même page. Je voudrais utiliser cette fonctionnalité sur un site où le scriptmanager est sur la page maître mais ne peut pas comprendre comment ajouter les scripts dont j'ai besoin pour chaque page par programme au gestionnaire. J'ai trouvé this post comme point de départ, mais je ne vais pas vraiment très loin. quelqu'un peut-il me donner un coup de main?Utilisation de ScriptCombining via un gestionnaire de script sur une page maître

Merci, Dan

Répondre

2

Donner cette un coup:

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


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

qui va faire le ScriptManager en cours (même si elle est sur une page maître) et ajoutez une référence de script aux propriétés CompositeScript.

+0

Merci. Je vais donner un coup de feu quand j'arrive demain – Hmobius

1

Vous pouvez également le faire dans le balisage en utilisant ScriptManagerProxy.

Vous pouvez ajouter le ScriptManager à la page maître, par ex.

<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> 

Ensuite, ajoutez ScriptManagerProxy à la page de contenu, par ex.

<asp:Content ID="HomeContent" ContentPlaceHolderID="PlaceHolder" runat="Server"> 
    <asp:ScriptManagerProxy runat="server"> 
     <CompositeScript> 
     <Scripts> 
      <asp:ScriptReference Path="~/yourscript.js" /> 
     </Scripts> 
     </CompositeScript> 
    </asp:ScriptManagerProxy>