You are on page 1of 5

Treinamento em ASP.NET (Parte I): por Renato Haddad http://www.microsoft.com/brasil/msdn/Tecnologias/MSDNMagazine/tre...

Developer Centers > ASP.NET

Treinamento em ASP.NET (Parte I)


por Renato Haddad

Para ler todas as matrias da MSDN Magazine, assine a revista no endereo www.neoficio.com.br/msdn

O objetivo deste treinamento mostrar a voc, leitor, como criar aplicaes para Internet por meio dos controles mais
utilizados no dia-a-dia de uma pgina. A linguagem utilizada ser o Visual Basic .NET, mas nada impede que se utilize o C#,
pois a diferena somente uma questo de sintaxe. A nica ferramenta que voc precisa o Visual Studio .NET, na qual
possvel criar desde o banco de dados at Componentes, Classes e Web Services. O ASP.NET vem conquistando enorme espao
entre os desenvolvedores devido a sua facilidade de uso, manuteno e performance. O processamento das pginas ocorre no
servidor, o que significa dizer que, quando o internauta navega nas pginas, estas so requisitadas ao servidor, que verifica a
solicitao, realiza o Parse das pginas, monta um HTML e as envia para o navegador que as solicitou. E, j que mencionei
HTML, no se preocupe, pois possvel desenvolver toda a aplicao sem usar nenhuma TAG de HTML. Tudo o que voc precisa
saber a linguagem VB.NET ou a C#. Cabe ressaltar que o Framework o responsvel por todo esse processo (por isso a
necessidade de t-lo instalado no servidor), juntamente, claro, com o Internet Information Server.

No Visual Studio, selecione o menu File / New Project e crie um projeto do tipo ASP.NET Web Application chamado MSDNMag.
Clique no boto OK para criar automaticamente o site virtual dessa aplicao. Abra o Solution Explorer (CTRL + ALT + L) e note
que j existe um arquivo chamado WebForm1.aspx. Como ele no nos interessa, exclua-o. Para adicionar um novo formulrio,
clique com o boto direito no projeto e selecione Add / Add Web Form chamado Listas.aspx.. Pressione F4 para exibir a janela
de propriedades e configure a Page Layout = Flow Layout. No fundo do documento, digite o texto Controle de Listas ASP.NET
e utilize a barra de ferramentas de formatao para melhorar a aparncia do texto. Exiba a Toolbox (CTRL + ALT + X) e veja
toda a lista de controles disponveis. Monte uma pgina com os seguintes controles: um TextBox (ID = txtPrato), um ListBox
(Multiline = True, ID = lstCardapio), cinco Buttons (btnIncluir, btnExcluir, btnLimpar, btnPesquisar e btnSelecionados) e um
Label (ID = lblItems), conforme mostra a Figura 1.

Figura 1. Layout do formulrio Listas

Para criar os cdigos, d um duplo clique em cada boto e digite os cdigos relativos a eles (apresentados a seguir). A
explicao dos cdigos mostrada nos prprios comentrios das linhas.

Boto Incluir

Private Sub btnIncluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles btnIncluir.Click
'verifica se o txtPrato contm algo digitado

1 de 5 11/06/2012 14:39
Treinamento em ASP.NET (Parte I): por Renato Haddad http://www.microsoft.com/brasil/msdn/Tecnologias/MSDNMagazine/tre...

If txtPrato.Text <> "" Then


'inclui o item na lista
lstCardapio.Items.Add(txtPrato.Text.Trim())
End If
'apaga o campo
txtPrato.Text = ""
End Sub

Boto Excluir

Private Sub btnExcluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles btnExcluir.Click
'Verifica se h um item selecionado
If Me.lstCardapio.SelectedIndex >= 0 Then
'Remove o item da lista
lstCardapio.Items.RemoveAt(lstCardapio.SelectedIndex)
End If
End Sub

Boto Limpar

Private Sub btnLimpar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles btnLimpar.Click
'limpa toda a lista
lstCardapio.Items.Clear()
End Sub

Boto Pesquisar

Private Sub btnPesquisar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles btnPesquisar.Click
'Desmarca qualquer item da lista
lstCardapio.SelectedIndex = -1
'pesquisa o item na lista
lstCardapio.Items.FindByText(txtPrato.Text.Trim()).Selected = True
'zera o campo
txtPrato.Text = ""
End Sub

Boto Selecionados

Private Sub btnSelecionados_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles btnSelecionados.Click
'Apaga o contedo do Label
lblItems.Text = ""
'Define o objeto do tipo ListItem
Dim objItem As ListItem
'Monta um looping para varrer todos os itens existentes na ListBox lstCardapio
For Each objItem In lstCardapio.Items
'Se o item atual estiver selecionado
If objItem.Selected Then
'Captura o texto do item e exibe-o no Label lblItems. O operador += concatena os textos
lblItems.Text += objItem.Text & " - "
End If
Next
End Sub

Salve o arquivo (CTRL + S) e exiba o Solution Explorer. No Solution Explorer, defina esse arquivo como Default. Para fazer isso,
clique com o boto direito no Listas.aspx e selecione Set As Start Page. Para compilar o formulrio, selecione o menu Build /
Build Solution. Para executar, selecione o menu Debug / Start (F5). Outra opo muito utilizada consiste em pressionar CTRL +
F5. Essa opo j salva, compila, abre o navegador e executa a aplicao. Veja o resultado da execuo na Figura 2.

2 de 5 11/06/2012 14:39
Treinamento em ASP.NET (Parte I): por Renato Haddad http://www.microsoft.com/brasil/msdn/Tecnologias/MSDNMagazine/tre...

Figura 2. Execuo do formulrio Listas

Voc deve estar se perguntando onde que entra o VB.NET ou C#, ou seja, o cdigo que criamos para cada boto. A resposta
simples: quando voc compila a aplicao, gerado um arquivo MSDNMag.DLL contendo todos os cdigos criados. Quando
voc abre uma pgina ASP.NET, ela processada no servidor, que por sua vez identifica o navegador que a solicitou, monta um
HTML e a envia ao navegador. As vantagens desse processo completo so muitas, dentre as quais destaco:

o arquivo de layout (Listas.aspx) fica separado do arquivo de cdigos (Listas.aspx.vb);

a propriedade intelectual (cdigos) fica protegida, pois est dentro da DLL;

quem se encarrega de montar um HTML que seja suportado pelo navegador o Framework, e no voc. Portanto, o cdigo
criado apenas um, mas pode haver vrios produtos finais.

No Solution Explorer, adicione um novo formulrio Add / Add Web Form chamado Carros.aspx e que contenha os seguintes
controles: dois DropDown (ID = dropMarcas e dropModelos), um Calendar, um Button (Text = Verificar Dados e ID =
btnVerificar) e um Label (lblCarro). Para o controle dropMarcas, configure a propriedade AutoPostBack = True. Isso
fundamental para que o formulrio seja submetido ao servidor. Como esses controles so utilizados com freqncia, o
funcionamento ocorre da seguinte forma: no momento em que o formulrio carregado, apenas na primeira vez montado o
DropMarcas. Assim que o internauta seleciona uma marca, montado o DropModelos com os modelos especficos marca
selecionada. Em seguida, o internauta escolhe uma data no calendrio e, quando pressiona o boto Verificar, os dados so
capturados dos controles e seus contedos so exibidos no Label.

O DropMarcas ser carregado assim que o formulrio for aberto, portanto, digite o seguinte cdigo no evento Page_Load:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles MyBase.Load
'Verifica se a primeira vez que o formulrio est sendo carregado. Se sim, executa o cdigo
If Not Page.IsPostBack Then
'Define um ArrayList com as opes
Dim arrayMarca As New ArrayList
With arrayMarca
.Add("GM")
.Add("Citroen")
.Add("Volks")
.Add("Ford")
.Sort()
End With
'Define a origem do controles DropMarcas que o array definido acima

3 de 5 11/06/2012 14:39
Treinamento em ASP.NET (Parte I): por Renato Haddad http://www.microsoft.com/brasil/msdn/Tecnologias/MSDNMagazine/tre...

dropMarcas.DataSource = arrayMarca
'O DataBind preenche o controle
dropMarcas.DataBind()
'Insere um item na primeira opo do DropMarcas
dropMarcas.Items.Insert(0, New ListItem("marca...", ""))
End If
End Sub

D um duplo clique no dropMarcas e digite o cdigo apresentado abaixo. Como esse controle tem a propriedade AutoPostBack
definida como True, assim que um item for selecionado, o formulrio ser enviado ao servidor, que montar o dropModelos de
acordo com a marca selecionada.

Private Sub dropMarcas_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles dropMarcas.SelectedIndexChanged
'Limpa o contedo do dropModelos
dropModelos.Items.Clear()
'Define um tabela que ser criada apenas na memria
Dim tabModelos As New DataTable
'Define uma linha
Dim newRow As DataRow
'Define as colunas com os nomes e tipos
tabModelos.Columns.Add(New DataColumn("codigo", GetType(String)))
tabModelos.Columns.Add(New DataColumn("modelo", GetType(String)))
'Verifica qual o item selecionado
Select Case dropMarcas.SelectedItem.ToString()
'Se for este fabricante, monta os dados
Case "GM"
'Cria uma nova linha
newRow = tabModelos.NewRow()
'Define os contedos
newRow("codigo") = "10"
newRow("modelo") = "Vectra"
'Adiciona a linha tabela
tabModelos.Rows.Add(newRow)
...copie este bloco acima e crie outros modelos ...
...Para cada Case monte os devidos modelos de cada fabricante conforme o cdigo anterior
Case "Citroen"
Case "Volks"
Case "Ford"
End Select
'Informa a origem do dropModelos que a tabela definida com os respectivos modelos
dropModelos.DataSource = tabModelos
'Define o campo que ser exibido no dropModelos
dropModelos.DataTextField = "modelo"
'Define o campo que ser armazenado para cada item
dropModelos.DataValueField = "codigo"
'Preenche o dropModelos
dropModelos.DataBind()
End Sub

Em seguida, crie o cdigo para o btnVerificar que exibe no lblDados o contedo.

Private Sub btnVerificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles btnVerificar.Click
lblDados.Text = "Voc selecionou a Marca: " + _
dropMarcas.SelectedItem.Text + _
", o modelo: " + dropModelos.SelectedItem.Text + _
", cdigo: " + dropModelos.SelectedItem.Value + _
", data de compra: " + Calendar1.SelectedDate.ToShortDateString

End Sub

Selecione o projeto no Solution Explorer, defina-o como Set As Start Page e pressione CTRL + F5 para salv-lo, compil-lo e
execut-lo no navegador. Veja o resultado na Figura 3.

4 de 5 11/06/2012 14:39
Treinamento em ASP.NET (Parte I): por Renato Haddad http://www.microsoft.com/brasil/msdn/Tecnologias/MSDNMagazine/tre...

Figura 3.Execuo do formulrio Carros

Concluses
O ASP.NET atualmente o meio mais produtivo e rpido de se criar aplicaes para Internet, alm, claro, de oferecer melhor
performance e facilidade de manuteno. No prximo artigo, abordaremos outros controles e acesso a banco de dados.
Aproveitem a leitura, e at l! No stress, think .NET.

Renato Haddad (rehaddad@msn.com) Microsoft Most Valuable Professional e ministra treinamentos e palestras sobre o .NET.
tambm autor de diversos livros e treinamentos em CD multimdia para ASP.NET, Visual Studio .NET 2003 e Aplicaes
Mveis para celulares e Pocket PC, tanto no Brasil como em outros pases da Amrica Latina.

Incio da pgina

Referncias:
www.asp.net

www.gotdotnet.com

http://www.codeproject.com

http://www.linhadecodigo.com.br

Incio da pgina

Fale Conosco

2012 Microsoft Corporation. Todos os direitos reservados. Entre em contato | Nota Legal | Marcas comerciais |
Poltica de Privacidade

5 de 5 11/06/2012 14:39

You might also like