Escolar Documentos
Profissional Documentos
Cultura Documentos
NET
Falar sofre os vrios tipos de projetos que so possveis de serem criados usando o
Visual Studio .NET, e falar sobre o nosso objeto de estudo, que no as aplicaes ASP.NET
Adicionando controles e escrevendo cdigo
Quando criamos uma aplicao ASP.NET exibido um novo formulrio no centro
da janela. Voc pode arrastar controles para um formulrio Web, assim como voc faz com
formulrios Windows. (Arrastar um boto e fazer um hello world!)
Para adicionar cdigo para responder a eventos do formulrio Web, d um duplo
clique no controle. A janela de cdigo ser exibida, e voc pode escrever um cdigo
relativo a este evento.
Falar sobre a diferena entre os Webserver Controls e HTML Controls
Dizer que os eventos ocorrem no servidor, e que o Estado preservado (View
State). Alm disso, eles geram cdigo HTML especfico para o Browser que est
visualizando a pgina.
Arquivos de um projeto Web
Ao criar um projeto de aplicao Web, ele cria vrios arquivos
Arquivo
Contedo
Global.asax
Contm os eventos globais de uma
aplicao Web
Web.config
Contm as configuraes que o servidor
Web ir utilizar quando estiver
executando esta aplicao.
WebForm1.aspx
A descrio Visual do Web Form
WebForm1.aspx.cs
O cdigo que responde a eventos do
Webform
PRTICA
Criar uma aplicao, e colocar um controle TextBox, um Label e um Boto.
Visualizar o formulrio no modo HTML. Verifique que para cada controle foi colocado um
atributo STYLE, determinando o posicionamento dos controles.
Execute o formulrio, digite algo na caixa de texto, clique no boto, e verifique que
o valor digitado preservado.
Visualize o cdigo HTML, e verifique que o posicionamento feito utilizando
DHTML.
Volte ao visual Studio, clique com o boto da direita no formulrio, e clique em
propriedades. Altere o Target Schema para IE 3,02
Execute o formulrio novamente, e veja o cdigo fonte. Verifique que o
posicionamento dos controles feito utilizando tabelas HTML.
Clique com o boto da direita no formulrio, e escolha Flow Layout ao invs de
Grid Layout. Adicione um boto ao formulrio. Verifique no HTML View que o boto no
possui um atributo STYLE.
Coloque um controle do tipo calendrio, execute o formulrio, e veja o HTML que
gerado pelo calendrio.
Eventos de Validao
Descrio
So eventos que fazem com que a
pgina seja enviada de volta ao servidor
para ser processada novamente
Estes eventos ficam salvos no View
State das pginas para serem
processados quando um evento de PostBack ocorrer
Estes eventos so manipulados sem que
efetuar Post-Back e sem ficar no Cache
PRTICA
Criar um WebForm, contendo um TextBox e um Button, e colocar um cdigo
Boto Clicado no boto, e um Texto Alterado no TextBox.
Executar o formulrio, e clicar no boto sem escrever na TextBox. Veremos que
apenas a mensagem do boto mostrada. Se voc escrever algo na caixa de texto, e depois
clicar no boto, voc ver que o evento TextChanged ocorre antes do ButtonClick
Podemos tambm colocar um RequiredFieldValidator, para impedir que a TextBox
seja deixada em branco ao clicar em submit
Mantendo o Estado
Como explicado anteriormente, os Web Forms so criados e destrudos a cada
solicitao de um cliente. Devido a esta caracterstica, as variveis no mantm seus
valores depois que uma pgina exibida. Para resolver este problema, o ASP.NET fornece
estas maneiras de preservar as variveis entre as requisies:
Nvel de Estado
Descrio
Query String
So utilizadas para passar informaes
entre os Requests e Responses, como
parte do endereo. Como so visveis ao
usurio, no devem conter informaes
sobre segurana.
Cookies
So pequenas informaes que so
armazenadas no Cliente. Porm, muitas
vezes os clientes podem bloquear
cookies
View State
O ASP.NET armazenadas os itens do
View State num campo oculto do
WebForm
Session State
Application State
PRTICA
USANDO QUERY STRINGS - Voc pode criar um Link no modo HTML, como
este: <a href=WebForm2.aspx?Nome=Mario>Exemplo</a>
Para fazer a mesma coisa utilizando o cdigo Server-Side, utilize a diretiva Redirect
no objeto Response: Response.Redirect(WebForm2.aspx?Nome=Mario);
No WebForm2, podemos exibir o contedo da varivel, fazendo:
Response.Write(Request.QueryString[Nome])
No PageLoad:
if (IsPostBack)
{
foreach(StateItem stateItem in ViewState.Values)
{
TableRow tr = new TableRow();
TableCell td = new TableCell();
td.Text = stateItem.Value.ToString();
tr.Cells.Add(td);
table1.Rows.Add(tr);
}
}
Validando os Dados
Os controles de validao verificam os dados fornecidos nos controles de Servidor
no cliente, antes de enviar a pgina (Post-Back) para o servidor. Isto importante pois a
maioria dos problemas de validao podem ser corrigidos sem a necessidade de roundtrips
no servidor.
Validador
Descrio
RequiredFieldValidator
Verifica se um controle possui dados
CompareValidator
Verifica se os dados de um item
corresponde com o de outro controle
RangeValidator
Verifica se os dados fornecidos esto
entre dois valores
RegularExpressionsValidator Verifica se os dados fornecidos esto
num formato especfico
CustomValidator
Verifica a validade de um item
utilizando um funo no lado do cliente
(JavaScript) ou no lado do servidor
ValidationSummary
Apresenta os erros de validao
ocorridos
PRATICA
Crie um WebForm com 4 TextBox e um boto. Coloque um RequiredFieldValidator
para o primeiro, um CompareValidator para o segundo, um RangeValidator para o terceiro,
e um RegularExpressionValidator para o quarto. Defina a mensagem de erro que voc quer
mostrar em cada um dos controles, e defina o texto de cada um dos controles (*). Faa o
teste sem o ValidatorSummary, e com o ValidatorSummary.
Ative a opo ShowMessage do ValidatorSummary, e faa o teste novamente.
Devemos combinar controles de validao, pois apenas o controle
RequiredFieldValidator valida se o usurio no forneceu dados no TextBox.
Se tiver tempo, voc pode criar um formulrio de autenticao e armazenar o
usurio em uma varivel de sesso.
Controles List-Bound
So controles que se conectam a fonte de dados e mostram os dados provenientes da
fonte de dados. Exemplos de List-Bound Contols so: CheckBoxList, DataGrid, DataList,
DropDownList, ListBox, RadioButtonList, Repeater.
Para mostrar um DataSet em um controle List-Bound, voc deve definir as seguintes
propriedades do controle:
Propriedade
Descrio
DataSource
Especifica o DataSet contendo os dados
DataMember
DataTextField
DataValueField
PRATICA
Crie um novo formulrio, coloque um DropDownList. Arraste os objetos de
Connection, crie um DataTable se necessrio. Utilize um DataSet ou crie um novo. Popule
o DropDownList com o DataSet, execute o formulrio. Visualize o cdigo fonte, e veja o
que est sendo mostrado no DataTextField e DataValueField.
PRATICA Um pouco mais de DataGrid
Crie um DataGrid da mesma maneira que fizemos anteriormente. Clique com o
boto da direita sobre o DataGrid, e selecione a opo Property Builder.
Selecione a aba Paging, e defina as seguintes opes:
Allow Paging: true
Page size: 5
Show navigation buttons: true
Position: Bottom
Mode: Page numbers
Numeric Buttons: 10
Crie uma procedure para o evento PageIndexChange, e adicione o seguinte cdigo:
Dg.CurrentPageIndex = e.NewPageIndex;
sqlDataAdapter.Fill(DataSet1);
dg.DataBind();
Build and Browse.
Clique com o boto da direita no DataGrid, e selcione a opo Property Builder
Selecione a aba Columns, e adicione uma coluna SELECT
Defina o Header Text como sendo Selecionar
Build and Browse.
Podemos at fazer um Update utilizando o DataSet e o DataAdapter, da seguinte
forma:
Crie um TextBox e um Button no mesmo formulrio. Crie um evento para o
SelectIndexChanged, e devina o Text da TextBox como sendo o
dataGrid.SelectedItem.Cels[xxx].Text
dataGrid.DataBind();
{
label1.Text = Ocorreu um erro de Internet ao enviar o
arquivo.;
}
catch (Exception ex)
{
label1.Text = Ocorreu um erro:<br> + ex.Message;
}