O novo modelo de compilação e os novos controles

José Carlos Macoratti (e-mail) é referência em Visual Basic no Brasil e autor dos livros "Aprenda Rápido: ASP" e "ASP, ADO e Banco de Dados na Internet". Mantenedor do site macoratti.net.

Com o advento da ASP.NET 2.0, houve uma grande mudança em relação as versões anteriores 1.x. O processo de criação de uma aplicação Web Form na versão 2.0 não depende mais da definição de um diretório virtual. Não existe também na nova versão um projeto ASP.NET web.

Uma diretiva de página na versão anterior especificava o nome do arquivo code-behind e do nome do formulário classe base:

<%@ Page Language="VB" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="DataWebSite.Form1"%>

Nesta versão, os arquivos XXX.aspx.vb contém uma região de inicialização e código de inicialização para cada controle na página. Na primeira vez que você abria a página, o ASP.NET 1.1 compilava o code behind da página e gerava um conjunto de arquivos temporários, incluindo um arquivo para Public Class Default_aspx que era derivado da classe base WebSiteName.form1.

Na nova versão ASP.NET 2.0 a diretiva de página para a página Default.aspx é:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile"Default.aspx.vb" Inherits="_Default"%>

As classes parciais para a marcação HTML e a página code behind eliminam a necessidade de uma classe derivada. A instrução CodeFile especifica que a marcação, o código em Default.aspx, e o código em Default.aspx.vb serão compilados em uma única classe _Default.

O projeto Web não inclui o tradicional subdiretório \bin. A construção e execução de uma solução ASP.NET 2.0 usando o servidor Web embutido gera uma coleção de arquivos temporários. Além disto, ASP.NET 2.0 designa um conjunto de diretórios especiais que o runtime reconhece quando compila o web site. A seguir os principais diretórios especiais:

. App_Assemblies - substitui a pasta \bin
. App_Data - armazena banco de dados SQL Server\Access.
. App_Code - Localização dos arquivos de classe e outro código requerido pelo projeto.

Nota: Você deve incluir uma pasta especial que você precisa definir sempre no primeiro nível de sub-pastas da pasta do projeto. A ASP.NET 2.0 não reconhece nomes de pasta especiais em outro local.

A ASP.NET 2.0 traz como novidade aproximadamente 40 novos controles web. Muitos novos controles de servidor suportam a conectividade de dados e a vinculação de dados de forma declarativa. A vinculação de dados também automatiza as operação de update , insert e delete. A seguir temos os novos controles de servidor que suportam a vinculação de dados e a atualização:

. DataSource: Controle de conexão a banco de dados, objetos de acesso a dados e documentos XML.
. DataList: Exibe e edita linhas do DataSource sequencialmente em ou mais colunas.
. FormView - Exibe e edita uma linha única do DataSource em formulário HTML convencional.
. GridView - Exibe e edita múltiplas linhas do DataSource em um grid é similar ao DataGridView.(O GridView substitui o DataGrid da versão anterior da ASP.NET)
. DetailsView - Exibe e edita uma linha única do DataSource em um uma tabela de duas colunas. Suporta a visão mestre-detalhe.

A seção de dados da ToolBox no ASP.NET 2.0 substitui as ferramentas DataSet, DataView, Connection, Command e Adapter com um conjunto de ferramentas DataSource. Você inclui um controle DataSource em uma página no modo Design arrastando e soltando o controle a partir da ToolBox. A seguir os principais controles DataSource:

. SqlDataSource - Para banco de dados cliente/servidor.
. AccessDataSource - Para arquivos .mdb (Access)
. ObjectDataSource - Para objetos de negócios personalizados.
. XmlDataSource - Para fonte de dados XML.
. SiteMapDataSource - Faz a conexão com um projeto criado com o objeto XmlSiteMapProvider.

Até o próximo artigo ASP.NET!