29.06.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!