ASP .NET 2.0

SmartNavigation – 1.0 e 1.1

MaintainScrollPositionOnPostback –  2.0

 

 

Nas versões do framework 1.0 e 1.1 temos um recurso interessante chamado SmartNavigation (Navegação inteligente) que tem a finalidade de manter o foco onde você está trabalhando na página.

Por exemplo, vamos supor que você crie um formulário grande e em um destes campos você tem um botão de pesquisa no final da página, se o SmartNavigation estiver habilitado o foco será mantido no local onde está trabalhando.

Veja a Figura 1, se o usuário clicar em Buscar endereço o foco será mantido no campo CEP, isto é útil, pois não precisamos ficar descendo a página para continuar preenchendo o formulário.

 

Figura 1 – Botão de pesquisa no final do formulário.

 

Para habilitá-lo basta atribuir sua propriedade como true.

 

 

<%@ Page language="c#" Codebehind="ExAlunos.aspx.cs" AutoEventWireup="false" Inherits="ExAlunos. " smartNavigation="True"%>

 

Caso deseje habilitá-lo em todo o seu projeto use o Web.Config.

 

<pages smartNavigation="true" />

 

 

O SmartNavigation utiliza IFRAME para trabalhar com este recurso.

 

<IFRAME ID=__hifSmartNav NAME=__hifSmartNav STYLE=display:none src="/aspnet_client/system_web/1_1_4322/SmartNav.htm"></IFRAME>

<form name="Form1" method="post" action="Ramais.aspx" language="javascript" onsubmit="if (!ValidatorOnSubmit()) return false;" id="Form1" __smartNavEnabled="true">

<input type="hidden" name="__EVENTTARGET" value="" />

<input type="hidden" name="__EVENTARGUMENT" value="" />

<input type="hidden" name="__VIEWSTATE" value=" Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY+Oz4+Oz47bDxpPDE+Oz47bDx0PEAwPDs7Ozs7Ozs7Ozs+Ozs+Oz4+Oz4+Oz4+Oz4A0OhOw67Ho1Y59uSIRIrenrMV8A==" />

 

 

 

 

Na versĂŁo 2.0 o SmartNavigation foi substituĂ­do pelo  MaintainScrollPositionOnPostback.

 

Para habilitá-lo basta configurá-lo como True nas propriedades documento.

 

<%@ Page Language="C#"  MaintainScrollPositionOnPostback="true" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

Verificando código para ver a diferença entre os dois, podemos perceber que agora ele não utiliza mais o IFRAME. Abaixo podemos ver o trecho javascript gerado MaintainScrollPositionOnPostback.

 

 

<script type="text/javascript">

<!--

 

theForm.oldSubmit = theForm.submit;

theForm.submit = WebForm_SaveScrollPositionSubmit;

 

theForm.oldOnSubmit = theForm.onsubmit;

theForm.onsubmit = WebForm_SaveScrollPositionOnSubmit;

 

theForm.oldOnLoad = window.onload;

window.onload = WebForm_RestoreScrollPosition;

// -->

</script>

 

Na Figura  2 coquei um textbox e um button no final da página, quando clico no botĂŁo o label Ă© preenchido e nĂŁo perde o foco. Ou seja, quando MaintainScrollPositionOnPostback está com o true ele nĂŁo vai para o inĂ­cio do documento.

 

Figura 2 – Pesquisa no final do documento.

 

Abraços e até o próximo.

.br

 

 

www.aspneti.com – community.net