Pergunta

ASP.NET 3.5 SP1 adiciona uma grande novidade ScriptCombining ao objeto ScriptManager como demonstrado em este vídeo . No entanto, ele só demonstra como usar o recurso com o ScriptManager na mesma página. Eu gostaria de usar esse recurso em um local onde o scriptmanager está na página mestre, mas não consigo descobrir como adicionar os scripts que eu preciso para cada página programaticamente para o gerente. Eu encontrei este post para uso como um ponto de partida, mas eu realmente não estou ficando muito longe. Alguém pode me dar uma mão amiga?

Obrigado, Dan

Foi útil?

Solução

Dê este um tiro:

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


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

Isso vai tirar o scriptmanager atual (mesmo que seja em uma página master) e adicionar uma referência de script para as propriedades CompositeScript.

Outras dicas

Você também pode fazer isso na marcação usando ScriptManagerProxy .

Você pode adicionar o ScriptManager para a página mestra por exemplo.

<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, em seguida, adicione o ScriptManagerProxy para a página de conteúdo por exemplo.

<asp:Content ID="HomeContent" ContentPlaceHolderID="PlaceHolder" runat="Server">
    <asp:ScriptManagerProxy runat="server">
        <CompositeScript>
        <Scripts>
            <asp:ScriptReference Path="~/yourscript.js" />
        </Scripts>
        </CompositeScript>
    </asp:ScriptManagerProxy>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top