msdn23_capa.jpg

Clique aqui para ler todos os artigos desta edição

 

DHTML com ASP.NET

por Dino Esposito

Este artigo discute

Este artigo usa as seguintes tecnologias:

·          DHTML, processamento no cliente e servidor

·          JavaScript

DHTML, JavaScript, C#

 

Download:

CuttingEdge0507.exe (131KB)

Chapéu

DTHML

 

 

Neste artigo mostrarei como fazer com que o código ASP.NET e o Internet Explorer DHTML Document Object Model (DOM) trabalhem em conjunto, e discutiremos também como realizar a comunicação entre o runtime do ASP.NET e uma instância do server-side de um ASP.NET control . 

 

Anatomia de um Postback 

Para projetar um mecanismo efetivo de cooperação entre o DHTML e os controles server-side, precisamos ter um sólido entendimento do mecanismo ASP.NET postback. Imaginemos termos uma página com um par de textboxes e um botão Submit. Quando o usuário clicar no botão, a página faz um postback. O post pode ser iniciado em um de dois modos: via um botão Submit ou via script. Um botão Submit é representado pelo HTML: . A maioria dos browsers também suporta fazer o post via o método submit dentro de um elemento

. Em ASP.NET, a segunda abordagem é usada para LinkButtons e auto-postbacks. 

Quando uma operação submit é iniciada, o browser prepara e envia um pedido de HTTP de acordo com os conteúdos do form. Em ASP.NET, o atributo "action" do form enviando é definido para a URL da página atual,  o atributo "method" pode ser mudado à vontade inclusive programaticamente. Possíveis métodos incluem GET e POST. 

O postback para uma página de ASP.NET que contenha um par de textboxes, uma lista dropdown e um botão Submit seria:  

 

_VIEWSTATE=%D...%2D

&TextBox1=One

&TextBox2=Two

&DropDownList1=one

&Button1=Submit

 

Os conteúdos de todos os campos de entrada, incluindo os campos ocultos, são enviados como parte da carga útil. Além disso, o valor do item atualmente selecionado em toda a lista de controles é adicionado, assim como o nome do botão Submit que ativou o post. Se há um ou mais LinkButtons na página, dois campos ocultos extra chamados __EVENTTARGET e __EVENTARGUMENT são acrescentados à carga útil:

 

__EVENTTARGET=

&__EVENTARGUMENT=

&_VIEWSTATE=%D...%2D

&TextBox1=One

&TextBox2=Two

&DropDownList1=one

&Button1=Submit

 

Ambos os campos ocultos estarão vazios caso a página fizer o postback via botão Submit. Se fizermos o postback via LinkButton na página, a carga útil muda como mostrado a seguir:  

 

__EVENTTARGET=LinkButton1

&__EVENTARGUMENT=

...

Quer ler esse conteúdo completo? Tenha acesso completo