SmartNavigation – 1.0 e 1.1 MaintainScroll PositionOn Postback – 2.0
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.
www.aspneti.com – community.net
Sign up to our newsletter
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.