Aprenda de uma forma simples , objetiva e direta os ... - Macoratti.net
Aprenda de uma forma simples , objetiva e direta os ... - Macoratti.net
Aprenda de uma forma simples , objetiva e direta os ... - Macoratti.net
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Curso <strong>de</strong> Introdução a Plata<strong>forma</strong> .Net FrameWork SDK<br />
5. É realizado o ren<strong>de</strong>r (<strong>de</strong>senho na tela do monitor do cliente) do que o<br />
programa previa que <strong>de</strong>veria ser ren<strong>de</strong>rizado.<br />
Este passo acontece no servidor e no cliente!<br />
Mantendo o Estado <strong>de</strong> <strong>uma</strong> Página ASP.Net<br />
A manutenção <strong>de</strong> estado d<strong>os</strong> componentes quando existe um P<strong>os</strong>tBack (um<br />
p<strong>os</strong>t para a própria página) é automática.<br />
Isso é p<strong>os</strong>sível porque quando <strong>uma</strong> <strong>de</strong>terminada página .aspx é chamada pela<br />
primeira vez é criado na memória do servidor um pool <strong>de</strong> alg<strong>uma</strong>s instancias da<br />
classe que tem o nome da página e que é her<strong>de</strong>ira <strong>de</strong> <strong>uma</strong> classe Page.<br />
Novas solicitações daquela mesma página, seja ela pelo mesmo cliente ou por<br />
outro, não criarão, ao men<strong>os</strong> que o arquivo sofra alg<strong>uma</strong> mudança, novas instancias<br />
<strong>de</strong>sse objeto.<br />
O que é criado junto com a primeira solicitação daquela página é um objeto da<br />
classe ViewState, que por sua vez cria <strong>uma</strong> referencia àquele dado objeto her<strong>de</strong>iro<br />
<strong>de</strong> Page.<br />
Quando <strong>uma</strong> página é reenviada para o servidor começa um novo ciclo<br />
chamado <strong>de</strong> ROUNDTRIP que consegue localizar aquela sua instancia <strong>de</strong> ViewState<br />
e remonta um objeto tipo Page idêntico ao anterior.<br />
Este esquema <strong>de</strong>senvolvido faz parecer como se cliente tivesse um objeto tipo<br />
Page permanentemente <strong>de</strong>le, o tempo todo conectado, o que não é verda<strong>de</strong>.<br />
Isso faz com que <strong>os</strong> componentes utilizad<strong>os</strong> na aplicação consigam manter<br />
automaticamente <strong>os</strong> seus valores.<br />
A in<strong>forma</strong>ção <strong>de</strong> estado em si po<strong>de</strong> ser armazenada em divers<strong>os</strong> locais. O mais<br />
comum é na memória do servidor, como o Asp tradicional faz hoje, mas po<strong>de</strong>m<strong>os</strong><br />
também armazenar in<strong>forma</strong>ções <strong>de</strong> estado em um servidor <strong>de</strong> estado, no SQL<br />
Server ou até mesmo escrevendo código para exercer tal funcionalida<strong>de</strong>.<br />
ViewState<br />
O ViewState <strong>de</strong>screve o aspecto <strong>de</strong> um objeto em um dado momento.<br />
Dizem<strong>os</strong> que um aplicativo que monitora essas in<strong>forma</strong>ções mantém (ou<br />
monitora) o estado.<br />
Os formulári<strong>os</strong> Web em HTML não têm esse po<strong>de</strong>r, isso porque a Web é <strong>uma</strong><br />
mídia sem in<strong>forma</strong>ções <strong>de</strong> estado.<br />
O ASP.Net monitora automaticamente o ViewState para você. Isso po<strong>de</strong> ser<br />
feito porque o ASP.Net gera saída <strong>de</strong> camp<strong>os</strong> <strong>de</strong> formulári<strong>os</strong> ocult<strong>os</strong> em HTML<br />
sempre que você instruir um formulário a executar no servidor.<br />
Para que isto ocorra é preciso que o <strong>de</strong>senvolvedor instrua o formulário e seus<br />
componentes a executar no servidor, portanto <strong>de</strong>vem<strong>os</strong> incluir a clausula runat em<br />
cada um <strong>de</strong>stes componentes:<br />
11