+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 Apr 2026
  1. CeceliaWysel

    5 Pontos

  2. VernonSchaw

    5 Pontos

  3. MargieOsterh

    5 Pontos

200 pontos
Melhores 2026 Apr 06 - 12
  1. danilo.pereira

    96 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. willian.metalsystem

    69 Pontos

  5. henrique.muller

    62 Pontos

  6. luciano.fronza

    61 Pontos

  7. luciano.fronza

    61 Pontos

  8. luciano.fronza

    61 Pontos

  9. diuari.molinari

    52 Pontos

  10. diuari.molinari

    51 Pontos

518 perguntas
567 respostas
389 comentários
772 usuários