Exemplos de código
• WebForm1.aspx:
o
Caixa de Texto (TextBox) e Label (Label);
• Listas.aspx:
o
Caixa de Listagem Simples (DropDownList), Caixa de Listagem Múltipla
(ListBox);
• TestaMarcadores.aspx:
o
Caixa de Checagem (CheckBox), Lista de caixas de checagem (CheckBoxList);
• TestaRadio.aspx:
o
Botão de Rádio (RadioButton), Lista de botões de rádio (RadioButtonList).
• Tabela.aspx:
o
Tabela HTML (Table);
• TesteExpressoesRegulares.aspx
Controle WebForm – TextBox
• Caixa de entrada de texto.
• Substitui o Input Text e o Text Area do HTML;
• Exemplo:
o
<asp:TextBox id=“txtNome” AutopostBack=“false” Text=“Olá mundo”
TextMode=“Single | Multiline | Password”
OnTextChange=“OnTextChangeMethod” runat=“server”/>
• Propriedades importantes:
ID: nome do objeto associado ao componente.
TextMode: indica se o controle é do tipo texto (SingleLine - <input
type=‘text’>), senha (Password - <input type=‘password’>) ou com
múltiplas linhas (MultiLine - <textarea>).
o Text: o texto digitado no controle;
o AutoPostBack: boolean que indica se após a mudança do texto a
validação será chamada automaticamente (recarrega a página!).
o
o
Controle WebForm – Button
• Fornece a funcionalidade de um botão.
• Ao contrário de HTML comum, não existe o conceito
do botão submit.
• Cada botão recebe em código a sua funcionalidade.
• Propriedades importantes:
o
ID:
 o nome do objeto associado ao controle.
o
CausesValidation:
 indica se o botão invoca o procedimento de validação no servidor.
Controle WebForm – Label
• Elementos utilizados para indicar textos
dinâmicos no HTML a partir de código C#
externo;
• Semelhante ao div do HTML;
• Propriedades importantes:
o ID: nome do objeto associado ao
componente.
o Text: o texto associado ao controle.
Projeto Exemplo
• Formulário Nome e Senha (WebForm1.aspx):
Projeto Exemplo
• Atenção! Siga os passos seguintes para
recriar o Projeto Exemplo!
• Crie um projeto novo no Visual Studio
(usaremos este projeto mais tarde, então
guarde-o).
• Crie um novo WebForm ou utilize o que já está
disponível no próprio projeto
(WebForm1.aspx).
Projeto Exemplo
• Para utilizar o layout normal de HTML, primeiro
clique na área do formulário.
• Em seguida, no menu Layout > Position,
selecione o layout que preferir.
Projeto Exemplo
• Em seguida, digite os textos da página.
• Insira os TextBox nos lugares apropriados e
mude as propriedades:
o
o
o
O primeiro deve ser chamado de txtNome (ID).
O segundo deve ser chamdo de txtSenha (ID).
O segundo ainda deve ser selecionado com o estilo
de senha.
Projeto Exemplo
• Insira os botões, chamando-os de enviar e
limpa.
• Modifique os textos dos botões para indicar a
sua funcionalidade.
• Insira os dois labels para indicar a saída.
• Dê a estes os nomes labelNome e
labelSenha.
• Modifique os textos dos labels.
Projeto Exemplo
• Em seguida, crie os métodos associados aos
botões:
O botão Enviar deve processar os valores e colocálos nos labels associados.
o O botão Limpar deve apagar os dados nos
componentes digitáveis.
o Para criar cada método, basta clicar com o mouse
duas vezes sobre o componente.
o
Projeto Exemplo
• Código para copiar os dados das entradas
para os labels:
labelNome.Text = "Nome digitado: " +
txtNome.Text;
labelSenha.Text = "Senha digitada: " +
txtSenha.Text;
Projeto Exemplo
• Código para limpar os campos:
txtNome.Text = "";
txtSenha.Text = "";
labelNome.Text = "Nome digitado: ";
labelSenha.Text = "Senha digitada: ";
Controle WebForm – DropDownList
• Comando que oferece uma lista drop down.
• O usuário faz uma seleção de várias
disponíveis.
• As opções ficam escondidas até o usuário
selecionar o campo, tornando visíveis as
opções para seleção.
Controle WebForm – DropDownList
• Propriedades importantes do DropDownList:
ID: mesmo que nos outros controles.
AutoPostBack: indica se o servidor é invocado
automaticamente quando o elemento é modificado.
o Items: coleção de opções da lista.
o SelectedItem: o ítem selecionado.
o SelectedIndex: índice do elemento selecionado na
lista.
o
o
Controle WebForm – DropDownList
• Ao adicionar um elemento, podemos
ordená-lo em conjunto com os já
presentes.
• Também podemos fornecer
informações referentes ao elemento
do DropDownList (ver Propriedade
Items):
o
o
o
o
Enabled: elemento habilitado ou
não;
Selected: indica se o elemento é
marcado (true) ou não (false) por
default.
Text: o texto associado ao elemento.
Value: o valor associado ao elemento.
Controle WebForm – DropDownList
• O controle permite a inclusão de itens em duas
formas distintas:
1.Estaticamente: via Visual Studio.
2.Dinâmicamente: via código (utilizando o método
Add).
Projeto Exemplo 2
• Crie um novo formulário no seu projeto.
• Formate o projeto para utilizar o flow layout.
• Em seguida, adicione um controle
DropDownList.
• Modifique o identificador para lista1.
Projeto Exemplo 2
• Para adicionar opções na lista, basta
selecioná-la e nas propriedades, ir em Items.
• Clique nos três pontos ao lado da propriedade.
Projeto Exemplo 2
• Isto irá fornecer um diálogo para a inclusão de
itens:
Projeto Exemplo 2
• Insira na lista as opções “Carro”, “Ônibus” e
“Motociceta”, associadas, aos valores “C”, “O”
e “M”, respectivamente.
• Modifique a propriedade AutoPostBack para
True.
Projeto Exemplo 2
• Insira um label para indicar a opção
selecionada, atribuindo a este o id
labelSelecionado.
• Em seguida, clique duas vezes para criar o
método que é invocado toda vez que o
controle for modificado.
Projeto Exemplo 2
•
Código do método:
switch(lista1.SelectedItem.Value)
{
case "C":
labelSelecionado.Text = "O carro foi selecionado.";
break;
case "O":
labelSelecionado.Text = "O ônibus foi selecionado.";
break;
case "M":
labelSelecionado.Text = "A motocicleta foi selecionada.";
break;
default:
labelSelecionado.Text = "Nada foi selecionado.";
break;
}
Controle WebForm –ListBox
• Controle bastante parecido com o
DropDownList.
• Diferenças:
Pode mostrar mais de uma opção por vez, com uma
barra de rolagem.
o Permite a seleção múltipla de elementos.
o
Controle WebForm –ListBox
• No caso de controle com seleção múltipla,
devemos verificar um a um os elementos
marcados.
• Isto é feito através da propriedade Items da
lista.
• A propriedade Items é um vetor, assim possui
a propriedade Count que indica o número de
elementos existem na lista e o iterador [ ] para
acessar um elemento.
Controle WebForm –ListBox
• Assim, podemos acessar os elementos um a
um e verificar se eles estão selecionados
(propriedade Selected).
• Se selecionados, podemos acessar o seu valor
através de Value.
Projeto Exemplo 3
• Modifique o formulário anterior para incluir uma
Listbox chamada lista2.
• Adicione um segundo label, chamado
labelSelecionado2.
• Adicione os itens “Escola”, “Casa” e “Parque” à
nova lista.
• Deixe os valores iguais aos nomes dos itens.
Projeto Exemplo 3
• Em seguida, permita o AutoPostBack nesta
lista e crie o método associado à alteração da
lista.
• Imprima no label as opções selecionadas.
Projeto Exemplo 3
• Código do evento:
String texto = "Itens selecionados: ";
for(int i=0;i<lista2.Items.Count;i++)
if(lista2.Items[i].Selected)
texto += lista2.Items[i].Value;
labelSelecionado2.Text = texto;
Checkbox em Asp.Net
• Disponíveis em duas formas:
CheckBox: controle equivalente ao Input Checkbox
do HTML.
o CheckBoxList: controle que integra diversos
checkboxes em um único componente.
o
• Estes componentes suportam, apesar de não
ser o caso geral de uso, a propriedade
AutoPostBack.
Checkbox em Asp.Net
• Propriedades de Checkbox:
ID: nome do objeto associado ao controle no code
behind.
o Text: o texto HTML associado ao controle.
o Checked: booleano que indica se o controle está ou
não selecionado.
o
Checkbox em Asp.Net
• O controle CheckBoxList é mais parecido com
o controle ListBox no modo de seleção
múltipla.
• Propriedades importantes:
o
o
o
ID: mesmo que nos outros controles.
Items: coleção de opções da lista.
RepeatColumns: número de colunas para fazer o
layout do componente.
Checkbox em Asp.Net
• Como no caso do ListBox, podemos colocar
itens manualmente na IDE do VisualStudio, ou
diretamente na propriedade Item do controle
via código:
• Ex:
checklist.Item.Add(new Item(“Texto do
Item”, “Valor”));
Checkbox em Asp.Net
• Todos os componentes que trabalham com
uma coleção de items possuem um par de
propriedades para cada item:
o
o
Text: o texto associado ao item (exibido no HTML).
Value: o valor (string) do item. Pode ser usado em
comparações.
Projeto Exemplo 4
• Como nos anteriores, iremos utilizar o
controles WebForms.
• Assim, evite utilizar como componentes os
HTML Controls.
• Crie um projeto para testar os componentes
discutidos.
Projeto Exemplo
• Adicione dois CheckBox, com o ID cb1 e cb2,
associados aos textos “Parque” e “Escola”,
respectivamente.
• Adicione um CheckBoxList com os itens:
o
o
o
Casa
Trabalho
Shopping
Projeto Exemplo
• Adicione um botão, associando-o ao texto
“Envia” e com o ID “envia”.
• Adicione dois labels com o ID lb1 e lb2.
• Adicione o código de clique no botão envia,
implementando a lógica para indicar em lb1 as
opções selecionadas em cb1/cb2 e em lb2 as
opções selecionada no cblist.
Projeto Exemplo
•
Código do evento (parte 1):
String texto;
// Processa os checkbox
if(!cb1.Checked && !cb2.Checked)
lb1.Text = "Selecione alguma opção na primeira lista.";
else
{
texto = "Opções selecionadas na primeira lista:";
if(cb1.Checked)
texto+=" Parque";
if(cb2.Checked)
texto+=" Escola";
lb1.Text = texto;
}
Projeto Exemplo
•
Código do evento (parte final):
// Processa o checkbox list
int count = 0;
texto = "Opções selecionadas na primeira lista:";
for(int i=0;i<cblist.Items.Count;i++)
if(cblist.Items[i].Selected)
{
texto+= " "+cblist.Items[i].Text;
count++;
}
if(count != 0)
lb2.Text = texto;
else
lb2.Text = "Selecione alguma opção na segunda lista.";
RadioButton em Asp.Net
• Como o checkbox HTML, o radiobutton é representado
no Asp.Net por dois componentes diferentes:
o
o
RadioButton: equivalente direto ao radio do HTML.
RadioButtonList: similar ao CheckBoxList, fornece uma
lista de radio buttons, porém permite a seleção de um único
elemento.
• Estes componentes suportam, apesar de não ser o
caso geral de uso, a propriedade AutoPostBack.
RadioButton em Asp.Net
• Propriedades de RadioButton:
ID: nome do objeto associado ao controle no code
behind.
o Text: o texto HTML associado ao controle.
o Checked: booleano que indica se o controle está ou
não selecionado.
o GroupName: nome do grupo ao qual o radio button
pertence. Apenas um radio do grupo pode estar
selecionado.
o
RadioButton em Asp.Net
• Propriedades de RadioButtonList:
o
o
o
o
o
ID: mesmo que nos outros controles.
AutoPostBack.
Items: coleção de opções da lista.
SelectedItem: o ítem selecionado.
SelectedIndex: índice do elemento selecionado na
lista.
RadioButton em Asp.Net
• É possível acessar cada elemento da lista de Items
como no CheckBoxList, porém como há apenas um
elemento selecionado, temos disponível qual item está
selecionado.
• Quando há um item selecionado, a propriedade
SelectedIndex é maior ou igual a 0.
• Quando não há item selecionado, ela é igual a -1.
• Isto vale tanto para RadioButtonList como para
DropDownList.
Projeto Exemplo
• Crie um novo formulário no projeto para testar
os componentes discutidos.
• Para executar a aplicação e ter este formulário
como o principal, basta na árvore de arquivos
do Visual Studio clicar com o botão direito do
mouse neste novo formulário e indicá-lo como
a página inicial.
Projeto Exemplo
• Adicione dois RadioButton, com o ID rb1 e rb2,
associados aos textos “Masculino” e “Feminino”,
respectivamente. Ambos devem pertencer ao
GroupoName Sexo.
• Adicione um RadioButtonList com os itens:
o
o
o
o
Carro
Ônibus
Avião
Trem
• O procedimento para adicionar itens é idêntico ao
exercício anterior.
Projeto Exemplo
• Adicione um botão, associando-o ao texto
“Envia” e com o ID “envia”.
• Adicione dois labels com o ID lb1 e lb2.
• Adicione o código de clique no botão envia,
implementando a lógica para indicar em lb1 as
opções selecionadas em rb1/rb2 e em lb2 as
opções selecionada no rblist.
Projeto Exemplo
•
Código do evento:
// Testa os radio buttons
if(rb1.Checked)
lb1.Text = "O usuário é homem.";
else if(rb2.Checked)
lb1.Text = "O usuário é mulher.";
else
lb1.Text = "O usuário não informou o seu sexo.";
// Testa o grupo de radio buttons
if(rblist.SelectedIndex >= 0)
lb2.Text = "O meio de transporte favorito do usuário é: " +
rblist.SelectedItem.Text;
else
lb2.Text = "O usuário não informou o seu meio de transporte favorito.";
Tabelas em Asp.Net
• Podemos criar tabelas via código em Asp.Net.
• Isto é bastante prático do ponto de vista de
programação, já que a tabela em si é um
elemento de código ativo.
• A tabela é dividida em três níveis hierárquicos.
Tabelas em Asp.Net
• O primeiro é a classe Table, que cria a tabela
em si.
• A tabela é composta por linhas, representadas
pela classe TableRow.
• Enfim, cada linha é composta por um conjunto
de células, da classe TableCell.
Tabelas em Asp.Net
• Rows é a propriedade mais importante da
Table. É o vetor de TableRows, as linhas em si.
• Métodos importantes de Rows:
o
o
o
Add: adiciona um TableRow
Clear: elimina todas as linhas
Remove: elimina uma linha.
Tabelas em Asp.Net
• Cells é a propriedade importante de
TableRows. É a coleção de células da linha.
• Métodos importantes de Rows:
o
o
o
Add: adiciona uma TableCell
Clear: elimina todas as células
Remove: elimina uma célula.
Tabelas em Asp.Net
• Proriedades importantes de TableCell:
BackColor: cor de fundo (baseado na enumeração
Color).
o ForeColor: cor do texto (também baseado na
enumeração Color).
o Width: largura, baseada na classe Unit.
o Text: o texto associado à célula.
o
Projeto Exemplo
• Crie um formulário novo, chamado de Tabela.
• Neste formulário, insira dois DropDownList,
com o identificador linha e coluna.
• Preencha-os com os valores de 1 a 5 (Items).
• Ative o evento de AutoPostBack de ambos.
Projeto Exemplo
• Insira uma tabela vazia, com o ID tab.
• Crie o método associado ao evento da troca de valor
dos DropDownList.
• No código, recupere os valores selecionados em
ambas as listas.
• Modifique a tabela para que tenha o número de linhas
e colunas indicados pelos DropDownList.
• Cada célula deve indicar o número de sua linha e
coluna.
Projeto Exemplo
• Evento da troca dos dropdownlist:
int lin = linhas.SelectedIndex+1;
int col = colunas.SelectedIndex+1;
ajustaTabela(lin, col);
Projeto Exemplo
• Método ajustaTabela:
private void ajustaTabela(int linhas, int colunas)
{
// Primeiramente, elimina todas as linhas e colunas antigas
tab.Rows.Clear();
// Agora, adiciona as linhas e colunas
for(int i=0;i<linhas;i++)
{
tab.Rows.Add(new TableRow());
tab.Rows[i].BorderStyle= BorderStyle.Solid;
tab.Rows[i].BorderWidth=Unit.Pixel(2);
tab.Rows[i].BorderColor=Color.Black;
Projeto Exemplo
for(int j=0;j<colunas;j++)
{
tab.Rows[i].Cells.Add(new TableCell());
tab.Rows[i].Cells[j].BackColor=Color.Aquamarine;
tab.Rows[i].Cells[j].Width=Unit.Pixel(50);
tab.Rows[i].Cells[j].ForeColor = Color.Black;
tab.Rows[i].Cells[j].Text = "("+i+","+j+")";
}
}
}
Projeto Exemplo
• O código pode ser otimizado, passando a
leitura de coluna e linha para dentro de
ajustaTabela.
Download

Passo a Passo sobre alguns controles