SmartNavigation – 1.0 e 1.1 MaintainScroll PositionOn Postback – 2.0


por Mauricio Junior em 1/1/2011 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.

.br

 

 

www.aspneti.com – community.net

 

 

 

 

voltar   comente  subir

 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Propaganda Microsoft - Vemos como será e não como é.
Criptografando Senha
Certificação - Segunda Chance
VS 11 preparado para HTML 5
Evento Brasil DotNet - gratuíto
Vídeo: Montando o Windows Phone em NYC
Adicionar uma coluna em um DataTable
WebService utilizando soapHeader e token
Sistema de Catalogar Livros
Coalescing Operador C# ?? null
CRIANDO MENU DINÂMICO COM C#.NET Passo 1
Consultando CEP via WebService
Vídeo mostrando como validar vários formulários
Comunicação .NET e VB 6.0 – Parte I
As várias maneiras de mandar e-mail utilizando .NET
Dica ReportViewer
URL Indexável – Reescrever URL de uma forma amigável
Page.Header
LG Optimus Black
Criando a Tag Cloud em C#
Código fonte aberto
Visual SourceSafe – Série 6
Linha do GridView (colorindo ao passar o mouse)
Windows Phone 7 Multi Touch
Escrever log de erro e warning
Descobrindo os dias do mês e final de semana
Cache
Trabalhando com Ipersonate e Web
Evento BrasilDotNet 2008
Orientação a Objetos - Microsoft PetShop 3.0
Prepare o Sql Server para o VS 2005
Criando e Lendo Cookie
Abrir o programa apenas uma vez
Dicas para programar melhor
OpenWave SDK 6.2.2