+6 votos
84 visitas

Em versões anteriores do WES o script era adicionado direto na Default.master da seguinte forma:


<asp:ScriptManager runat="server" ID="mainScriptManager" OnAsyncPostBackError="ScriptManager_AsyncPostBackError" EnablePartialRendering="true" ScriptMode="Release" EnablePageMethods="true">
  <Scripts>
    <asp:ScriptReference Path="~/bootstrap/js/bootstrap.js" />
    <asp:ScriptReference Path="~/dependencies/bootmetro-1.0.0/js/bootmetro-pivot.js" />
    <asp:ScriptReference Path="~/javascripts/InterfaceUtils.js" />
  </Scripts>
</asp:ScriptManager>

A partir da 14.1 o WES possui camadas na Default.master e foi criado o componente WesManager que já adiciona os scripts, preciso acrescentar também bootmetro e InterfaceUtils.
Se manter o WesManager e adicionar na Default.master customizada os script da forma acima ocorre uma mensagem indicando que a página pode ter apenas um ScriptManager.

por (125 pontos)
editado por | 84 visitas

2 Respostas

+2 votos
Melhor resposta

Devido a dificuldade em adicionar scripts na versão 14.1, estamos voltando o ScriptManager para a MasterPage apartir na release 14.1.6.9 do WES.

Dessa forma para registrar um javascript no WES é necessário que a MasterPage seja customizada, para customizar a MasterPage veja a documentação. Com a Master Page customizada, basta adicionar um ScriptReference no WesManager conforme mostrado abaixo:

<wes:WesManager runat="server">
    <Scripts>
        <asp:ScriptReference Path="~/js/angular.min.js" />
    </Scripts>
</wes:WesManager>

 

 

por
editado por
+1 voto

Na 14.1 o ScriptManager saiu da master e foi para um user control que é utilizado pela master, o WesManager.ascx.

Percebemos que isso acabou dificultado a adição de scripts pelos sistemas e pretendemos melhorar (ver SMS 786347).

Por enquanto as formas disponíveis são:

  • Especializar o WesManager.ascx, colocar seus scripts na especialização e utilizar sua especialização em vez do WesManager na sua nova master.
  • Ou, via código da sua master, ou apenas da página que queres adicionar scripts (para não onerar todas as páginas), implementar algo semelhante ao seguinte (ainda não testado):
var scriptManager = ScriptManager.GetCurrent(Page);
if (scriptManager != null)
    scriptManager.Scripts.Add(
        new ScriptReference()
        {
            Path = "~/javascripts/InterfaceUtils.js"
        });

 

 

por (183 pontos)
editado por
A segunda alternativa, parece ser melhor pois não precisa fazer merge de alterações no caso de modificações no arquivo WesManager.ascx

Perguntas relacionadas

+6 votos
2 respostas
perguntado 9 Mai, 2014 por Camila (290 pontos) | 112 visitas
+2 votos
1 resposta
+2 votos
1 resposta
perguntado 12 Mar, 2020 por pajucara.wallacef (29 pontos) | 65 visitas
+5 votos
1 resposta
perguntado 9 Mai, 2014 por Camila (290 pontos) | 69 visitas
+1 voto
1 resposta
perguntado 4 Set, 2019 por david.bernardino (13 pontos) | 106 visitas
Melhores Aug 2025
    200 pontos
    Melhores 2025 Jul 28 - Aug 03
    1. Larson

      156 Pontos

    2. danilo.pereira

      96 Pontos

    3. danilo.pereira

      96 Pontos

    4. danilo.pereira

      96 Pontos

    5. luciano.fronza

      61 Pontos

    6. luciano.fronza

      61 Pontos

    7. luciano.fronza

      61 Pontos

    8. diuari.molinari

      52 Pontos

    9. diuari.molinari

      51 Pontos

    10. diuari.molinari

      51 Pontos

    517 perguntas
    566 respostas
    389 comentários
    704 usuários