Dica: Melhore a navegação de sua aplicação ASP.NET com o SmartNavigation

O ASP.NET possui uma característica chamada Smart Navigation que permite uma melhor navegação em sua aplicação Web. Ela possibilita as seguintes melhorias:

- mantém a posição da página na tela e o foco no controle entre cada postback, evitando que a página volte para seu início após o retorno do servidor. Isso é especialmente útil em, por exemplo, páginas grandes de cadastros;
- evita o efeito da "piscada" da página entre os postbacks;
- impede que cada postback seja salvo na lista de histórico do browser, mantendo somente uma única entrada;

Para habilitar o Smart Navigation em uma página, basta configurar a propriedade SmartNavigation do WebForm para true. Caso deseje habilitá-lo em toda sua aplicação, adicione a tag <pages> no arquivo web.config, que deverá ficar parecido com:

<configuration>
    <system.web>
        <pages smartNavigation=”true”/>
        .....
    </system.web>
</configuration>

Mas nem tudo são flores...esta propriedade só funciona para browsers Internet Explorer 5.5 ou superior, e mesmo assim são comuns os relatos de problemas com CSS, entre outros. Mas uma aplicação web deveria rodar em qualquer plataforma, independentemente do browser e, mesmo que houvesse a dependência do browser, não deveria ocorrer erros, certo? Bem, nestes casos, existem algumas alternativas que "simulam" o comportamento da propriedade SmartNavigation através de JavaScript e HTML, que no fundo, é o que o SmartNavigation também faz, só que de forma automática (lembra que eu disse que ainda é importante saber JavaScript?). Se ficou interessado nestas alternativas, sugiro uma visita nos seguintes endereços:

How to persist the scroll position of an ASP.NET page without using SmartNavigation
Crossbrowser SmartNavigation Alternative
Crossbrowser SmartNavigation Alternative II

Ricardo Oneda.

Comments (4) -

  • Leandro de O. Macedo

    4/21/2005 9:43:56 PM | Reply

    excelente dica esses links, valeu !!

  • bisogno

    4/21/2005 10:02:19 PM | Reply

    Comigo aconteceu a perda do css como sitado por ti Oneda. Meu colega de trabalho (Alexandre Matos) achou a solução para este problema: A gente duplicava a linha onde estava definido o css. Isso resolveu o problema em muitas páginas, mas em algumas o erro permaneceu ou ocorreram outros problemas. No fim, optamos por não usar o Smartnavigation, apesar de todos os benefícios que estaríamos deixando de aproveitar. Vou estudar os links que tu passaste. Valeu! []'s

  • ongabriel

    4/22/2005 8:14:46 AM | Reply

    Legal, já usei bastante isso e tbm encontrei problemas com CSS. Gostei dos links alternativos para o SmartNavigation. Valeu!!!

  • shinji

    4/22/2005 4:24:14 PM | Reply

    SN é muito bom mas está longe de ser perfeito! ^__^ Muito bons os links!!!

    []'s

Loading