Escolar Documentos
Profissional Documentos
Cultura Documentos
Mini Curso
Mini Curso
NET
Michael Schuenck dos Santos
Curso de Sistemas de Informao Centro Universitrio Luterano de Palmas
(CEULP/ULBRA)
Caixa Postal 15.064 91.501-970 Palmas TO Brasil
michael@ulbra-to.br
1. Introduo
ASP.NET (Active Server Pages.NET) compe a forma de se criar pginas da Internet
utilizando-se a plataforma .NET. Esta plataforma prov uma srie de servios, atravs de
classes existentes no Microsoft .NET Framework. Com ele, possvel a construo no
apenas de pginas Web, mas tambm, de aplicativos desktop, aplicativos para dispositivos
mveis, objetos de negcios, web services, etc.
Pode-se dizer que a plataforma .NET similar plataforma Java, que tambm
oferece diversos servios. Dentre suas principais diferenas, destacam-se as seguintes
caractersticas: a plataforma Java utiliza a linguagem de programao Java e seus
aplicativos so hbridos (compilados e interpretados, caracterstica que permite que os
aplicativos sejam multi-plataforma); enquanto que em .NET, pode-se utilizar Visual
Basic.NET, C++, JScript.NET ou C# (que estar sendo utilizada neste curso), e os
aplicativos gerados so compilados em uma linguagem chamada MSIL (Microsoft
Intermediate Language). No caso das pginas ASP.NET, sua compilao realizada no
momento em que elas so chamadas pela primeira vez atravs do browser, que apresenta o
contedo final em HTML (Hypertext Markup Language).
A execuo de pginas ASP.NET requer a utilizao do IIS (Internet Information
Server), alm da instalao do .NET Framework SDK.
As pginas ASP.NET podem ser escritas utilizando-se editores de textos planos, tal
como Bloco de Notas e Vi. Porm, existem vrias ferramentas que auxiliam o
desenvolvimento de pginas ASP.NET. Algumas das ferramentas de maior destaque so:
?? Microsoft ASP.NET We b Matrix - um software especfico para construo de
aplicativos para a Web que utilizam a plataforma .NET. bastante leve (1,3 Mb),
apesar de prover muitos recursos de desenvolvimento. uma ferramenta gratuita,
podendo ser baixada em http://www.asp.net/webmatrix/.
?? Macromedia Dreamweaver MX seguindo a tradio de suas verses anteriores,
este software suporta vrias tecnologias (ASP, ASP.NET, JSP, PHP, CSS, Java,
XML, entre outras). Uma verso para teste pode ser encontrada em
http://www.dreamweaver.com.
?? Microsoft Visual Studio .NET considerado pela Microsoft, o seu principal
ambiente de desenvolvimento, suportando a criao de solues baseadas na
plataforma .NET, incluindo-se aplicativos desktop, ASP.NET, web services,
classes, aplicativos para dispositivos mveis, entre outros. Sua pgina na Internet
http://msdn.microsoft.com/vstudio/.
2. ASP.NET, HTML e C#
As pginas ASP.NET produzem arquivos de extenso .aspx. Normalmente, elas so
divididas em duas sees principais: HTML e, no nosso caso, C# (C Sharp) [Payne 2001].
Assim, o cdigo C# colocado dentro do elemento script , antes do cdigo HTML
propriamente. necessrio ainda, que seja explicitada a linguagem que est sendo
utilizada, o que feito com uso da diretiva Page Language, que adicionada no incio
do cdigo da pgina. Um exemplo simples de uma pgina ASP.NET o seguinte:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Cdigo ASP.NET
<html>
<body>
<form runat="server">
<div align="center">
<asp:Label id="Label1" runat="server" font-size="Large" font-bold="True"> Pgina de
Exemplo</asp:Label>
<asp:Label id="Label2" runat="server">Esta uma pgina de exemplo, onde exemplificada
a diviso entre o cdigo HTML e ASP.NET</asp:Label>
Cdigo HTML
<asp:Button id="Button1" onclick="limpar" runat="server" text="Limpar"/>
</div>
</form>
</body>
</html>
Nota-se, que o elemento script possui um atributo runat , que possui o valor server.
Isto significa que todo o contedo deste elemento estar sendo executado no servidor
[Payne 2001]. Isto necessrio pelo fato de ser o servidor, o lugar onde est instalado o
.NET framework (o cliente no necessariamente o ter instalado).
A linguagem C# possui muitas semelhanas com as linguagens C, C++ e Java.
Assim, o cdigo case-sensitive (existe diferena entre letras maisculas e minsculas), e
declaraes de variveis, operadores e estruturas de controle so utilizados praticamente da
mesma maneira que nestas linguagens. Por exemplo, para se declarar uma varivel do tipo
inteiro, basta escrever o seguinte:
int variavel;
Tipo
byte
sbyte
int
uint
long
ulong
short
ushort
decimal
double
float
bool
char
string
Descrio
Inteiro de 1 bit sem sinal (0 a 255).
Inteiro com sinal de 8 bits (-127 a 128).
Inteiro de 32 bits com sinal (-2.147.483.648 a 2.147.483.147).
Inteiro de 32 bits sem sinal (0 a 4.294.967.295).
Inteiro com sinal de 64 bits (-9.223.372.036.854.775.808 a
9.223.372.036.854.775.807).
Inteiro sem sinal de 64 bits (0 a 18.446.744.073.709.551.615).
Inteiro com sinal de 16 bits (-32.768 a 32.767).
Inteiro sem sinal de 16 bits (0 a 65.535).
-45
308
Ponto flutuante decimal de 128 bytes (? 1.5 x 10 a ? 1.7 x 10 ).
Este tipo tem uma preciso de 28 casas decimais.
-45
308
Ponto flutuante binrio de 8 bytes (? 1.5 x 10 a ? 1.7 x 10 ).
Este tipo tem uma preciso de 15 casas decimais.
-45
38
Ponto flutuante binrio de 4 bytes (? 1.5 x 10 a ? 3.4 x 10 ). Este
tipo tem uma preciso de 7 casas decimais.
Tipo de dados booleano, ou seja, pode ser apenas true ou false.
Um nico caractere unicode de 16 bits.
Unicode com at 1 gigabyte de caracteres. Dentre os tipos de dados
nativos do C#, este o nico cuja passagem (a funes ou mtodos)
feita por referncia, ou seja, o que passado no seu valor, mas
um ponteiro indicando o local da memria em que se encontra
aquela varivel.
switch (varivel) {
case 1 valor que a varivel pode assumir: instrues1; break;
case 2 valor que a varivel pode assumir: instrues2; break;
case 3 valor que a varivel pode assumir: instrues3; break;
default: instrues para condies no previstas explicitamente;
}
?? foreach esta estrutura de repetio uma variao do for. Sua diferena est no
fato de ser necessrio apenas especificar uma varivel inteira e a coleo (array)
cujos registros sero percorridos.
foreach (int i in vetor) {
instrues;
}
2.3 Operadores de C#
Os principais operadores de C# so apresentados a seguir [Payne 2001]:
Tabela 2: Operadores do C#
Categoria
Aritmticos
Atribuio
Concatenao
Criao de Objetos
Igualdade/Diferena
Incremento/Decremento
Lgicos
Primrios
Relacionais
Operadores
+, -, *, /, %
=, +=, -=, *=, /=, <<=, >>=, &=, ^=, |=
+
New
==, !=
++, -&, ^, |, &&, ||, ~, !
typeof, sizeof, checked, unchecked
<, >, <=, >=, is
3. Formulrios da Web
Os formulrios da Web constituem a principal forma de interao entre o usurio e
uma pgina Web. Dentro deles, esto contidos recursos para captao de dados, tais como
caixas de texto, caixas de listas e botes. sobre estes controles que, geralmente, so
realizadas as operaes que caracterizam uma pgina dinmica (aquela que no apenas
exibe informaes estticas, mas permitem interaes e realizam algum processamento).
Com a tecnologia ASP.NET, possvel construir aplicativos Web com facilidades
semelhantes s da construo de aplicativos desktop, com Delphi ou C++ Builder, por
exemplo. Ou seja, possvel acessar o contedo dos componentes dos formulrios e
associar eventos ao cdigo (no nosso caso, em C#). Em se tratando de aplicativos Web,
esta tarefa era permitida apenas por JavaScript, que por outro lado, no constitua,
isoladamente, um recurso para comunicao com um servidor, outra caracterstica tambm
oferecida por ASP.NET.
ASP.NET suporta o uso de elementos HTML, desde que possuam o atributo
passando a serem chamados de controles de servidor HTML. Isto se
deve ao fato de ASP.NET ser baseada no servidor, caso contrrio, ele no poderia enxergar
os controles [Payne 2001]. Os controles normalmente possue m atributos, especficos para
cada um, que permitem sua alterao de vrias formas. Como estes controles so, na
verdade, alguns dos elementos HTML, eles no sero apresentados aqui, mas podem ser
encontrados nas ferramentas de desenvolvimento.
runat= server ,
Nome
Button
Calendar
CheckBox
CheckBoxList
DataGrid
DataList
DropDownList
Image
Label
LinkButton
ListBox
RadioButton
RadioButtonList
Repeater
Table
TableCell
TableRow
TextBox
Descrio
Boto
Calendrio grfico que permite a navegao e escolha de datas
Caixa para selecionar ou no um item
Grupo de caixas de seleo que normalmente esto relacionadas
entre si
Mecanismo para exibio de dados em forma de linhas e
colunas, sendo possvel a classificao e edio
Mecanismo parecido com o DataGrid, porm, com menos
recursos
Lista para escolha de uma das opes. Bastante til quando se
quer que as opes sejam extradas de um banco de dados.
Exibio de uma imagem
Texto que no pode ser editado diretamente
Um boto com aparncia de link
Lista para escolha de uma ou mais opes.
Caixa para selecionar ou no um item. Dentre os RadioButtons
pertencentes a um RadioButtonList , apenas um pode ser
selecionado.
Continer de RadioButtons.
Controle para exibio de colees de dados em controles de
servidor HTML. Para cada registro, os dados so exibidos no
controle especificado.
Tabela
Clula de uma linha da tabela
Linha de uma tabela
Caixa para insero de dados pelo usurio
o fato de suas comunicaes serem baseadas em XML (texto), fazendo com que no
existam problemas na comunicao sob firewalls (que no bloqueiam arquivos texto).
ASP.NET utiliza algumas classes especficas para manipulao de dados com
ADO.NET [Microsoft 2003]: System.Data, System.Data.OleDb , System.Data.SqlTypes
e System.Data.SqlClient .
A classe System.Data.OleDb contm objetos para prover acesso a SGBDs
(Sistemas Gerenciadores de Bancos de Dados) diversos, tal como Access, SQL Server e
Oracle, dentre outros. Existe ainda, System.Data.SqlClient , que se diferencia por fornecer
objetos para acesso a SQL Server, exclusivamente. Logo, apesar de possuir objetos com
funcionalidades idnticas, suas aes so otimizadas em relao OleDb. Seus principais
objetos so apresentados na tabela a seguir [Microsoft 2003].
Tabela 4: Objetos da classe System.Data.OleDb
Objeto
OleDbCommand
OleDbConnection
OleDbDataAdapter
OleDbDataReader
Funo
Representa uma instruo SQL a ser executada sobre uma fonte
de dados
Representa a conexo com a fonte de dados
Define a conexo e os comandos de dados que sero usados para
manter a comunicao entre o DataSet e o conjunto de dados
Define um conjunto de dados somente leitura e com leitura
somente para frente.
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
if (DataReader != null) {
DataGrid.DataSource = DataReader;
DataGrid.DataBind();
DataReader.Close();
}
}
</script>
<html>
<body>
<form runat="server">
<asp:DataGrid id="DataGrid" runat="server"/>
</form>
</body>
</html>
6. Orientao a Objetos
Ao contrrio de ASP, ASP.NET uma linguagem orientada a objetos. Esta
caracterstica j foi observada nas sees anteriores, quando foram utilizados os objetos
das namespaces providas pelo .NET Framework, para acessar dados relacionais e XML.
Porm, possvel ainda, que o desenvolvedor crie as classes que desejar (o que geralmente
contribui para o reuso de cdigo).
Para a criao de classes, pode -se utilizar qualquer uma das linguagens suportadas
por .NET. A sintaxe das classes criadas em uma namespace (mecanismo sob o qual, podese reunir vrias classes) utilizando-se C# do tipo do exemplo apresentado na figura
abaixo.
1
2
3
4
5
6
7
8
9
10
11
12
13
namespace NomeDaNamespace {
using System;
using System.Data;
public class NomeDaClasse {
private int atributo;
public int somar(int valor1, int valor2) {
return valor1 + valor2;
}
}
}
10
Referncias Bibliogrficas
Payne, Chris. Aprenda em 21 dias ASP.NET. Rio de Janeiro: Campus, 2001.
Microsoft .Net Framework SDK Documentation. Microsoft [2003].
ASP.NET Web: The Official Microsoft ASP.NET Site : Home Page . Disponvel em :
<http://www.asp.net> acesso em: 13 de outubro de 2003.
World Wide Web Consortium. Extensible Markup Language (XML). Disponvel em
<http://www.w3.org/XML/>. Acesso em 10/04/2003.