ASP.NET. Michael Schuenck dos Santos



Documentos relacionados
Programando em C# Orientado a Objetos. By: Maromo

Introdução ao PHP. Prof. Késsia Marchi

Internet e Programação Web

Introdução ao ASP.NET

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Conteúdo Programático de PHP

JavaScript 2.0X X

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

Orientação a Objetos

Ambientes Visuais. Ambientes Visuais

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

2 echo "PHP e outros.";

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

CURSO DE PROGRAMAÇÃO EM JAVA

Introdução à Engenharia da Computação. Tecnologia Web Professor Machado

Sistemas para internet e software livre

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

JSP - ORIENTADO A OBJETOS

ASP.NET. Guia do Desenvolvedor. Felipe Cembranelli. Novatec Editora.

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Acesso a Banco de Dados usando C# (MySql Provider)

Componentes da linguagem C++

OPERADORES E ESTRUTURAS DE CONTROLE

Desenvolvendo Websites com PHP

Programação WEB. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

Programando em PHP. Conceitos Básicos

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Aula 1: Noção Básica e Criação de Tabelas.

Criando um carrinho de compras


PHP AULA1. Prof. Msc. Hélio Esperidião

Fundament n os s da platafo f rm r a. NE N T André Menegassi

JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo

Validando dados de páginas WEB

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

CAPÍTULO 8 Conexões de banco de dados para programadores ASP.NET

Programação Web Prof. Wladimir

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca

World Wide Web e Aplicações

Orientação a Objetos Programação em C++

Prof. Marcelo Machado Cunha

Java. Marcio de Carvalho Victorino

Programação de Computadores - I. Profª Beatriz Profº Israel

02 - Usando o SiteMaster - Informações importantes

HTML / JAVASCRIPT. A versão atual é o HTML5 (seus predecessores imediatos são HTML 4.01, XHTML 1.1, etc.).

JavaScript (Funções, Eventos e Manipulação de Formulários)

ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO

O Primeiro Programa em Visual Studio.net

Algoritmos e Programação Estruturada

Introdução a Java. Hélder Nunes

Linguagem de Programação Introdução a Linguagem Java

Programação Básica em Arduino Aula 2

2 Geração Dinâmica de Conteúdo e Templates de Composição

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML

Noções de. Microsoft SQL Server. Microsoft SQL Server

TUTORIAL DE UTILIZAÇÃO. Rua Maestro Cardim, cj. 121 CEP São Paulo - SP (11)

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

1. Domínio dos Atributos

PHP. Hypertext Pre-Processor

Fundamentos de Programação II. Introdução à linguagem de programação C++

Manual de Utilização do PLONE (Gerenciador de página pessoal)

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

Introdução ao Tableau Server 7.0

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

Instituto Federal do Sertão-PE. Curso de PHP. Professor: Felipe Correia

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Introdução ao C# . Visão geral do.net Framework

Treinamento em PHP. Aula 1. Ari Stopassola Junior

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Introdução a PHP (Estruturas de Controle)

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL

Guia de Consulta Rápida ASP. Rubens Prates. Novatec Editora.

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Criando um script simples

1. Introdução. 2. A área de trabalho

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

Desenvolvendo para WEB

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Treinar - Cursos e Treinamentos C# Módulo I. Carga horária: 32 Horas

PADI 2015/16. Aula 1 Introdução à Plataforma.NET

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

Curso de Aprendizado Industrial Desenvolvedor WEB

Introdução à Tecnologia Web. Tipos de Sites. Profª MSc. Elizabete Munzlinger

Programação Web com PHP. Prof. Wylliams Barbosa Santos Optativa IV Projetos de Sistemas Web

ESTUDO SOBRE AS LINGUAGENS DE PROGRAMAÇÃO HOSPEDEIRAS SUPORTADAS PELA FERRAMENTA HTML. Aluno: Rodrigo Ristow Orientador: Wilson Pedro Carli

AJAX no GASweb. Mas e afinal, para que usamos o AJAX?

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico

Construindo portais com Plone. Módulo 3 Templates

XHTML 1.0 DTDs e Validação

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

Transcrição:

ASP.NET Michael Schuenck dos Santos Curso de Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA) Caixa Postal 15.064 91.501-970 Palmas TO Brasil michael@ulbra-to.br 1. Introdução ASP.NET (Active Server Pages.NET) compõe a forma de se criar páginas da Internet utilizando-se a plataforma.net. Esta plataforma provê uma série de serviços, através de classes existentes no Microsoft.NET Framework. Com ele, é possível a construção não apenas de páginas Web, mas também, de aplicativos desktop, aplicativos para dispositivos móveis, objetos de negócios, web services, etc. Pode-se dizer que a plataforma.net é similar à plataforma Java, que também oferece diversos serviços. Dentre suas principais diferenças, destacam-se as seguintes características: a plataforma Java utiliza a linguagem de programação Java e seus aplicativos são híbridos (compilados e interpretados, característica 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 são compilados em uma linguagem chamada MSIL (Microsoft Intermediate Language). No caso das páginas ASP.NET, sua compilação é realizada no momento em que elas são chamadas pela primeira vez através do browser, que apresenta o conteúdo final em HTML (Hypertext Markup Language). A execução de páginas ASP.NET requer a utilização do IIS (Internet Information Server), além da instalação do.net Framework SDK. As páginas ASP.NET podem ser escritas utilizando-se editores de textos planos, tal como Bloco de Notas e Vi. Porém, existem várias ferramentas que auxiliam o desenvolvimento de páginas ASP.NET. Algumas das ferramentas de maior destaque são:?? Microsoft ASP.NET Web Matrix - um software específico para construção 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 tradição de suas versões anteriores, este software suporta várias tecnologias (ASP, ASP.NET, JSP, PHP, CSS, Java, XML, entre outras). Uma versão 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 criação de soluções baseadas na plataforma.net, incluindo-se aplicativos desktop, ASP.NET, web services, classes, aplicativos para dispositivos móveis, entre outros. Sua página na Internet é http://msdn.microsoft.com/vstudio/.

1 2. ASP.NET, HTML e C# As páginas ASP.NET produzem arquivos de extensão.aspx. Normalmente, elas são divididas em duas seções principais: HTML e, no nosso caso, C# (C Sharp) [Payne 2001]. Assim, o código C# é colocado dentro do elemento script, antes do código HTML propriamente. É necessário ainda, que seja explicitada a linguagem que está sendo utilizada, o que é feito com uso da diretiva Page Language, que é adicionada no início do código da página. Um exemplo simples de uma página ASP.NET é o seguinte: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <%@ Page Language="C#" %> <script runat="server"> void limpar(object sender, EventArgs e) { Label2.Text = " "; </script> <html> <body> <form runat="server"> <div align="center"> <asp:label id="label1" runat="server" font-size="large" font-bold="true"> Página de Exemplo</asp:Label> <asp:label id="label2" runat="server">esta é uma página de exemplo, onde é exemplificada a divisão entre o código HTML e ASP.NET</asp:Label> Código HTML <asp:button id="button1" onclick="limpar" runat="server" text="limpar"/> </div> </form> </body> </html> Figura 1. Divisão do código de uma página ASP.NET Nota-se, que o elemento script possui um atributo runat, que possui o valor server. Isto significa que todo o conteúdo deste elemento estará sendo executado no servidor [Payne 2001]. Isto é necessário pelo fato de ser o servidor, o lugar onde está instalado o.net framework (o cliente não necessariamente o terá instalado). A linguagem C# possui muitas semelhanças com as linguagens C, C++ e Java. Assim, o código é case-sensitive (existe diferença entre letras maiúsculas e minúsculas), e declarações de variáveis, operadores e estruturas de controle são utilizados praticamente da mesma maneira que nestas linguagens. Por exemplo, para se declarar uma variável do tipo inteiro, basta escrever o seguinte: int variavel; Código ASP.NET A forma do código ASP.NET se comunicar com o código HTML é através de funções que são invocadas por controles de servidor (que serão visto adiante, em detalhes), por meio do evento onclick. Outra forma desta comunicação acontecer ocorre no momento em que a página é carregada, por meio da função Page_Load. 2.1 Tipos de dados de C# Os tipos de dados suportados por C# são apresentados na tabela abaixo [Payne 2001]:

2 Tabela 1: Tipos de dados do C# Tipo Descrição byte Inteiro de 1 bit sem sinal (0 a 255). sbyte Inteiro com sinal de 8 bits (-127 a 128). int Inteiro de 32 bits com sinal (-2.147.483.648 a 2.147.483.147). uint Inteiro de 32 bits sem sinal (0 a 4.294.967.295). long Inteiro com sinal de 64 bits (-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807). ulong Inteiro sem sinal de 64 bits (0 a 18.446.744.073.709.551.615). short Inteiro com sinal de 16 bits (-32.768 a 32.767). ushort Inteiro sem sinal de 16 bits (0 a 65.535). decimal Ponto flutuante decimal de 128 bytes (? 1.5 x 10-45 a? 1.7 x 10 308 ). Este tipo tem uma precisão de 28 casas decimais. double Ponto flutuante binário de 8 bytes (? 1.5 x 10-45 a? 1.7 x 10 308 ). Este tipo tem uma precisão de 15 casas decimais. float Ponto flutuante binário de 4 bytes (? 1.5 x 10-45 a? 3.4 x 10 38 ). Este tipo tem uma precisão de 7 casas decimais. bool Tipo de dados booleano, ou seja, pode ser apenas true ou false. char string 2.2 Estruturas de controle de C# 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 funções ou métodos) é feita por referência, ou seja, o que é passado não é seu valor, mas um ponteiro indicando o local da memória em que se encontra aquela variável. As principais estruturas de controle de C# são as seguintes:?? if... else if... else estruturas de decisão simples, em que a cláusula if ocorre apenas uma vez, a cláusula else if pode ocorrer nenhuma ou várias vezes e a cláusula else é opcional. if (condição1) { instruções1; else if (condição2) { else { instruções2; instruções3;?? switch case - estruturas de decisão caracterizadas pela possibilidade de uma variável possuir vários valores. A cláusula switch ocorre uma vez, a cláusula case pode ocorrer de uma a várias vezes, e default é opcional.

3 switch (variável) { case 1º valor que a variável pode assumir : instruções1; break; case 2º valor que a variável pode assumir : instruções2; break; case 3º valor que a variável pode assumir : instruções3; break; default: instruções para condições não previstas explicitamente;?? for - estrutura de repetição caracterizada pela existência de três parâmetros: um valor inicial, uma condição para parada das iterações, e a quantidade de incrementos ou decrementos a cada iteração. for (int i=0; i>valor; i++) { instruções;?? foreach esta estrutura de repetição é uma variação do for. Sua diferença está no fato de ser necessário apenas especificar uma variável inteira e a coleção (array) cujos registros serão percorridos. foreach (int i in vetor) { instruções;?? while - estrutura de repetição que realiza as operações desejadas enquanto a condição especificada for verdadeira. while (condição) { instruções;?? do... while - estrutura de repetição semelhante à anterior, com o diferencial de que as condições são verificadas no final da execução, permitindo as operações especificadas sejam executadas pelo menos uma vez. do { instruções; while (condição); 2.3 Operadores de C# Os principais operadores de C# são apresentados a seguir [Payne 2001]:

4 Tabela 2: Operadores do C# Categoria Operadores Aritméticos +, -, *, /, % Atribuição =, +=, -=, *=, /=, <<=, >>=, &=, ^=, = Concatenação + Criação de Objetos New Igualdade/Diferença ==,!= Incremento/Decremento ++, -- Lógicos &, ^,, &&,, ~,! Primários typeof, sizeof, checked, unchecked Relacionais <, >, <=, >=, is Tendo sido apresentada a linguagem C#, serão apresentados adiante, os formulários da Web, com os quais, C# interage de forma a ser utilizado em páginas Web. 3. Formulários da Web Os formulários da Web constituem a principal forma de interação entre o usuário e uma página Web. Dentro deles, estão contidos recursos para captação de dados, tais como caixas de texto, caixas de listas e botões. É sobre estes controles que, geralmente, são realizadas as operações que caracterizam uma página dinâmica (aquela que não apenas exibe informações estáticas, mas permitem interações e realizam algum processamento). Com a tecnologia ASP.NET, é possível construir aplicativos Web com facilidades semelhantes às da construção de aplicativos desktop, com Delphi ou C++ Builder, por exemplo. Ou seja, é possível acessar o conteúdo dos componentes dos formulários e associar eventos ao código (no nosso caso, em C#). Em se tratando de aplicativos Web, esta tarefa era permitida apenas por JavaScript, que por outro lado, não constituía, isoladamente, um recurso para comunicação com um servidor, outra característica também oferecida por ASP.NET. ASP.NET suporta o uso de elementos HTML, desde que possuam o atributo runat= server, passando a serem chamados de controles de servidor HTML. Isto se deve ao fato de ASP.NET ser baseada no servidor, caso contrário, ele não poderia enxergar os controles [Payne 2001]. Os controles normalmente possuem atributos, específicos para cada um, que permitem sua alteração de várias formas. Como estes controles são, na verdade, alguns dos elementos HTML, eles não serão apresentados aqui, mas podem ser encontrados nas ferramentas de desenvolvimento. Existem ainda, os controles de servidor da Web, que são semelhantes aos controles de servidor HTML. Eles foram criados para serem utilizados especificamente por páginas ASP.NET e podem representar elementos de interface mais complexos, tal como calendários [ASP.NET 2003]. Sua utilização é feita da seguinte maneira: <asp:nomedocontrole id= nome runat= server > Eles podem possuir vários outros atributos, dependendo do tipo de controle e da necessidade do desenvolvedor. Estes controles são colocados no código entre as tags do código HTML, dentro de um formulário (representado pelo controle form). Os principais controle de servidor da Web são apresentados na tabela a seguir [ASP.NET 2003].

5 Nome Button Calendar CheckBox CheckBoxList DataGrid DataList DropDownList Image Label LinkButton ListBox RadioButton RadioButtonList Repeater Table TableCell TableRow TextBox Tabela 3: Controles de servidor da Web Descrição Botão Calendário gráfico que permite a navegação e escolha de datas Caixa para selecionar ou não um item Grupo de caixas de seleção que normalmente estão relacionadas entre si Mecanismo para exibição de dados em forma de linhas e colunas, sendo possível a classificação e edição Mecanismo parecido com o DataGrid, porém, com menos recursos Lista para escolha de uma das opções. Bastante útil quando se quer que as opções sejam extraídas de um banco de dados. Exibição de uma imagem Texto que não pode ser editado diretamente Um botão com aparência de link Lista para escolha de uma ou mais opções. Caixa para selecionar ou não um item. Dentre os RadioButtons pertencentes a um RadioButtonList, apenas um pode ser selecionado. Contêiner de RadioButtons. Controle para exibição de coleções de dados em controles de servidor HTML. Para cada registro, os dados são exibidos no controle especificado. Tabela Célula de uma linha da tabela Linha de uma tabela Caixa para inserção de dados pelo usuário Agora que foram apresentados os formulários da Web e a linguagem C#, é possível explicar o código escrito na figura 1. As linhas 2 à 6 contém o código referente às funções que serão utilizadas para manipular a página, que devem estar dentro das tags script. A linha 3 contém o cabeçalho da função limpar, que não retorna nada de sua execução (void), e cujos parâmetros são requeridos por vários métodos para tratar de eventos (apenas a função page_load não os requer). A linha 4 tem a função de definir um espaço como sendo o texto do controle de servidor da Web do tipo label, cujo id é Label2, e é definido na linha 14. Entre as linhas 8 e 19 encontra-se o código HTML, com seus elementos html e body. Entre as linhas 10 e 17, está o formulário da Web desta página. As linhas 12 e 14 possuem dois controles label, com seus respectivos atributos configurados. Finalmente, na linha 16 é colocado um button, que é responsável por invocar a função limpar, quando um usuário clicar nele. 4. Trabalhando com Bancos de Dados Para acessar e modificar dados, o ASP.NET utiliza ADO.NET (ActiveX Data Objects.NET), que é uma interface de programação para acesso a dados. Esta tecnologia representa a sucessão de ADO, que era utilizado pelas páginas ASP tradicionais [Payne 2001]. Entre suas principais diferenças, destacam-se o fato de ser compatível com XML e

6 o fato de suas comunicações serem baseadas em XML (texto), fazendo com que não existam problemas na comunicação sob firewalls (que não bloqueiam arquivos texto). ASP.NET utiliza algumas classes específicas para manipulação de dados com ADO.NET [Microsoft 2003]: System.Data, System.Data.OleDb, System.Data.SqlTypes e System.Data.SqlClient. A classe System.Data.OleDb contém objetos para prover acesso a SGBD s (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 idênticas, suas ações são otimizadas em relação à OleDb. Seus principais objetos são apresentados na tabela a seguir [Microsoft 2003]. Objeto OleDbCommand OleDbConnection OleDbDataAdapter OleDbDataReader Tabela 4: Objetos da classe System.Data.OleDb Função Representa uma instrução SQL a ser executada sobre uma fonte de dados Representa a conexão com a fonte de dados Define a conexão e os comandos de dados que serão usados para manter a comunicação entre o DataSet e o conjunto de dados Define um conjunto de dados somente leitura e com leitura somente para frente. Dois armazenamentos de dados se destacam em ADO.NET: o DataReader (System.Data.OleDb.DataReader) e DataSet (System.Data.DataSet). O primeiro pode ser considerado um objeto leve, permitindo acesso simples a um armazenamento de dados. Ele coloca somente uma linha na memória por vez, não oferece tantas funcionalidades quanto o DataSet, é de somente leitura, e não permite voltar aos registros já lidos (o que pode ser feito através do método read). O segundo foi criado para assumir o lugar do RecordSet do ADO. É caracterizado por armazenar todas as linhas de uma seleção na memória, incluindo restrições, relacionamentos e várias tabelas de uma vez. Isto proporciona vantagens como a manipulação de dados com mais rapidez, possibilitando a execução de leitura, escrita e stored procedures, além do envio e recebimento de informações [Payne 2001]. Por outro lado, este tipo de armazenamento não é recomendado quando se trabalha com grande número de acessos simultâneos. O exemplo abaixo mostra a utilização do DataReader, cujos dados são colocados em um controle DataGrid. 1 2 3 4 5 6 7 8 9 10 11 12 13 <%@ Page Language="C#" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.OleDb" %> <script runat="server"> void Page_Load(Object obj, EventArgs e) { OleDbConnection Conexao = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Michael\\ASP.NET\\bdNoticia.mdb"); OleDbCommand Comando = new OleDbCommand("select * from tb_noticia", Conexao); OleDbDataReader DataReader; Conexao.Open(); DataReader = Comando.ExecuteReader();

7 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> Figura 2. Exemplo da utilização de DataReader Da mesma forma do anterior, o exemplo abaixo apresenta um DataGrid, porém, que utiliza dados de um DataSet. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <%@ Page Language="C#" Debug="true" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.OleDb" %> <script runat="server"> void Page_Load(Object obj, EventArgs e) { OleDbConnection Conexao = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Michael\\ASP.NET\\bdNoticia.mdb"); OleDbDataAdapter Adapter = new OleDbDataAdapter("select * from tb_noticia", Conexao); DataSet Ds= new DataSet(); Conexao.Open(); Adapter.Fill(Ds, "tb_noticia"); if (Ds!= null) { DataGrid.DataSource = Ds; DataGrid.DataBind(); </script> <html> <body> <form runat="server"> <asp:datagrid id="datagrid" runat="server"/> </form> </body> </html> Figura 3. Exemplo da utilização de DataSet Para ambos os exemplos, a saída é a seguinte:

8 Figura 4. Saída dos exemplos das figuras 2 e 3 Tendo sido apresentados os mecanismos para acesso a dados relacionais, a próxima seção apresentará a forma de acesso a dados XML (extensible Markup Language). 5. Trabalhando com XML A XML [XML 2003] é um padrão da W3C (World Wide Web Consortium) para representação de dados. Possui um formato simples e muito útil para o intercâmbio de dados, o que é conseguido através da característica de marcação da linguagem. Por isto, ASP.NET agrega meios para manipulação deste tipo de dados. XmlTextReader é um objeto que representa um mecanismo rápido e simples para acesso a documentos XML [Payne 2001]. Um exemplo simples de sua utilização é apresentado a seguir. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <%@ Page Language="c#" %> <%@ import Namespace="System.Xml" %> <script runat="server"> void page_load(object o, EventArgs e){ XmlTextReader reader = new XmlTextReader(Server.MapPath("documento.xml")); while (reader.read()) { Response.Write(reader.Value + "<br/>"); reader.close(); </script> <html><body> </body></html> Figura 5. Exemplo do acesso a documentos XML utilizando XmlTextReader Na linha 5 é criado um objeto XmlTextReader que carrega o arquivo documento.xml. Entre as linhas 6 e 8, são exibidos os conteúdos dos elementos de cada elemento. ASP.NET oferece inúmeros outros objetos e métodos para manipulação de documentos XML, que podem ser encontrados na documentação do.net Framework SDK.

9 6. Orientação a Objetos Ao contrário de ASP, ASP.NET é uma linguagem orientada a objetos. Esta característica já foi observada nas seções anteriores, quando foram utilizados os objetos das namespaces providas pelo.net Framework, para acessar dados relacionais e XML. Porém, é possível ainda, que o desenvolvedor crie as classes que desejar (o que geralmente contribui para o reuso de código). Para a criação 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 várias 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; Figura 6. Exemplo da composição de uma namespace Para que a namespace possa ser utilizada, é necessário compilá-la utilizando-se o compilador de C#, que acompanha a instalação do.net Framework, com algumas opções particulares, tal como a necessidade de se gerar um arquivo.dll, que é colocado no diretório bin abaixo do diretório que contém as páginas ASP.NET que a utilizarão [Payne 2001]. Supondo que o nome do arquivo contendo a namespace se chame classe.cs, o comando a ser executado é o seguinte: csc /target:library /out:.\bin\classe.dll classe.cs csc significa C Sharp Compiler, (Compilador de C Sharp) e possui várias opções que podem ser utilizadas. Alguns exemplos de opções é a criação de arquivos executáveis e a opção de poder ser utilizado, ou não, por outros aplicativos. Quando a namespace criada for utilizada em uma página ASP.NET, deve-se importar a namespace, tal como era feito na com a namespace System.Data, nas figuras 2 e 3, por exemplo.

10 Referências Bibliográficas 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. Disponível em : <http://www.asp.net> acesso em: 13 de outubro de 2003. World Wide Web Consortium. Extensible Markup Language (XML). Disponível em <http://www.w3.org/xml/>. Acesso em 10/04/2003.