Projetando.NET - Artigos http://www.projetando.net/Sections/Articles.aspx Artigos .NET Formatando objetos utilizando IFormattable http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=65 Já vimos e utilizamos várias vezes padrões de formatação que são fornecidos intrinsicamente pela infraestrutura do .NET Framework desde a sua versão 1.x. Esses padrões são comuns quando necessitamos formatar datas ou números, para exibirmos ao usuário um valor mais amigável e, alguns exemplos típicos estão <a href="/Sections/ViewArticle_ArticleID_10.html" target="_blank">neste artigo</a>. Mas há situações em que precisamos formatar o nosso objeto customizado e, felizmente, o .NET Framework fornece uma interface chamada <i>IFormattable</i> qual possui um único método denominado, <i>ToString</i> qual é invocado automaticamente pelo runtime quando especificamos uma formatação. Israel Aece 10/1/2007 20:11:31 Migrando Profiles http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=64 É muito comum termos cenários onde usuários podem interagir com uma determinada aplicação ASP.NET, onde deverá manter os valores durante todo o percurso do mesmo dentro do site. O ASP.NET 2.0 introduziu um recurso bem interessante chamado de <i>Profiles</i>, qual já discutimos anteriormente <a href="/Sections/ViewArticle_ArticleID_22.html" target="1">nestes</a> <a href="/Sections/ViewArticle_ArticleID_25.html" target="2">artigos</a>. Como também já sabemos, estes <i>profiles</i> podem ser somente para usuários autenticados ou ainda, em alguns cenários, usuários anônimos podem também ter o seu próprio <i>profile</i>. Um caso típico, é quando estamos em uma loja virtual e adicionamos todos os produtos que desejamos em nossa cesta de compras e, somente quando formos finalizar a compra, é que nos identificamos, ou seja, passamos de usuário anônimo para um usuário autenticado. Israel Aece 20/11/2006 21:51:26 WebParts http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=63 Dentre todas as novidades que foram incluídas dentro do ASP.NET 2.0, não podemos descartar as chamadas Web Parts. O uso delas permitem que os usuários finais da aplicação possam modificar o conteúdo da página, a aparência e também o comportamento, sem recorrer a códigos e/ou operações mais complexas. Para aqueles que já estão familiarizados com o Windows Live Spaces, verão que o mesmo faz o uso dessas Web Parts. Além do Windows Live Spaces, ainda temos o mais recente Live.com, o qual provavelmente faz o uso desse recurso. As Web Parts permitem ao desenvolvedor criar aplicações mais ricas e ao mesmo tempo deixar o usuário customizar como ele desejar. No decorrer deste artigo, vamos conhecer as principais funcionalidades disponibilizadas pela arquitetura de Web Parts. Israel Aece 8/11/2006 00:29:40 Entendendo e Implementando Segurança no ASP.NET 2.0 http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=62 As novas API's de segurança do ASP.NET 2.0 estão realmente mais completas e com muitas das coisas que fazíamos anteriormente com ASP.NET 1.x já encapsuladas. Um novo design nas classes, controles ricos que já estão integrados com estas API's de segurança, tornando o código mais seguro, elegante e menos propício a erros e, além destas características, a quantidade de código caiu drasticamente. A finalidade deste artigo é dar um overview completo destas novas API's, começando em como está desenhada a arquitetura da mesma e passando pelo Membership e Roles. Depois disso, veremos as integrações com os controles já intrínsicos do ASP.NET, o Web Site Administration Tool e finalmente, um exemplo da configuração na íntegra do arquivo Web.Config. Israel Aece 3/5/2006 00:57:19 Criando um DebuggerVisualizer http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=61 A Microsoft incluiu na versão 2.0 do .NET Framework uma possibilidade de criar um debugger customizado para um determinado objeto que temos. Isso permite-nos criar uma interface mais amigável em relação à qual é fornecida quando utilizamos o debug do Visual Studio .NET 2005. Essa técnica é chamada de Debugger Visualizer e veremos como criá-lo no decorrer deste artigo. Israel Aece 30/4/2006 12:26:11 Health Monitoring http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=60 Nas versões anteriores do ASP.NET tínhamos algumas funcionalidades/serviços que nos permitiam monitorar a vida de uma aplicação ASP.NET. Podemos considerar como estes serviços os Traces e os contadores de performance. O ASP.NET 2.0 introduz um novo conceito, chamado de Health Monitoring, que trata-se de uma infraestrutura completa para monitoramento da aplicação ASP.NET, permitindo-nos analisar posteriormente o comportamento de tal aplicação, analisando a performance, diagnosticar falhas da aplicação e também eventos significativos durante a vida da aplicação em questão. Israel Aece 19/3/2006 22:40:58 Limitando o conteúdo de uma coluna no DataGrid http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=59 Quando carregamos um DataGrid com valores vindos de uma base de dados, muitas vezes o conteúdo da coluna da tabela ultrapassa o espaço que temos para exibir o mesmo para o usuário. Nestes casos, temos que limitar a quantidade de caracteres para não "estourar" a largura da área de trabalho. O que se costuma fazer nestas situações é limitar já diretamente na query SQL utilizando o método SUBSTRING ou, já diretamente no código ASP.NET onde, no evento ItemDataBound do DataGrid utiliza também o método Substring da String para limitar. A solução apresentada neste artigo é criar uma coluna customizada para que não se precise alterar a query SQL e também evitar de tratar isso em todo o evento ItemDataBound. A idéia é criar uma coluna que herde diretamente da classe BoundColumn que tem as funcionalidades básicas de uma coluna do DataGrid. Israel Aece 11/3/2006 07:48:11 Criando uma Seção de Configuração http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=58 Quando construímos algum componente e este deverá ser parametrizado através de valores que o desenvolvedor pode customizar no arquivo Web.Config/App.Config, podemos criar seções customizadas dentro destes arquivos para essa configuração. A vantagem de criar e utilizar esse recurso ao invés da seção appSettings é que aqui conseguimos uma melhor flexibilidade. A finalidade deste artigo é demonstrar como fazer isso na versão 2.0 do .NET Framework. Israel Aece 18/2/2006 09:16:53 Client-Side Callbacks - ASP.NET 2.0 http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=56 Um dos principais desafios dos desenvolvedores de aplicações Web, é construir uma aplicação intuitiva e ao mesmo tempo dinâmica, tornando a aplicação o mais próximo possível do "mundo Windows". Como essa aproximação é sempre comparada pelos clientes, o principal ponto negativo que as pessoas que estão migrando suas aplicações Windows para aplicações Web, é o fato de quando submetemos algo para ser processado no servidor, a página causa um Refresh, ou seja, ela é totalmente reconstruída. Veremos no decorrer deste artigo, a proposta da Microsoft até então para suprir essa necessidade. Israel Aece 9/1/2006 21:52:58 Percorrendo os Itens do DataGrid http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=55 Há alguns cenários onde precisamos ter no controle DataGrid e, em cada um dos itens (linhas) do mesmo, ter um CheckBox, que tem a finalidade de "marcar" um determinado registro, onde futuramente precisaremos recuperar os registros que estão marcados para efetuarmos algum processo com eles. Será mostrado neste artigo como devemos fazer para recuperar os registros "marcados" pelo usuário. Israel Aece 4/12/2005 20:14:24 Por dentro do ADO.NET 2.0 http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=54 Novas funcionalidades foram adicionadas no .NET Framework e o ADO.NET não poderia ter ficado sem estas novas "features". Chamado de ADO.NET 2.0, ele traz intrinsicamente muitas coisas que eram impossíveis de fazer nas versões anteriores ou exigia muito código até alcançar o resultado desejado. Este artigo tem a finalidade de apresentar essas novas funcionalidades, onde em cada tópica será abordado uma destas novas funcionalidades. Israel Aece 21/11/2005 18:39:12 Acessando valores em UserControls - ASCX http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=53 Muitas vezes temos valores dentro de User Controls (arquivos ASCX) que queremos acessar no Web Form (ASPX). Claro que além de acessar estes valores, podemos em alguns momentos, definir os mesmos. Para que isso seja possível, o ideal é a criação de uma propriedade pública de escrita e leitura para possibilitar o acesso "externo", em outras palavras, no WebForm que hospedará este User Control. A idéia deste artigo é mostrar como fazer para definir e ler valores de controles ASCX. Israel Aece 3/11/2005 19:41:00 URL dinâmica em Web Services http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=52 Quando somos responsáveis pelo desenvolvimento dos WebServices e também da aplicação cliente que irá consumir este serviço, criamos o WebService e o hospedamos na própria máquina de desenvolvimento (localhost) e, fazemos referência à ele nesta aplicação. Mas o grande problema disso é, que como quando fizermos o deployment do WebService, a URL do mesmo irá mudar e, conseqüentemente, a URL apontando para localhost não existirá ou não estará mais acessível. A finalidade desta artigo é justamente "driblar" este problema e, deixar isso flexível, pois quando mudar a URL do Web Service, não precisar recompilar a aplicação que o consome. Israel Aece 23/10/2005 17:02:10 Criando um DataGrid em Runtime http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=51 Depois de várias sugestões e dúvidas que vejo nos Newsgroups, decidi escrever este artigo, que tem a finalidade de explicar passo à passo como criar um controle DataGrid do ASP.NET 1.x em tempo de execução. Particularmente eu nunca precisei disto em minhas experiências no trabalho, mas vejo constantemente o pessoal utilizá-los. A idéia basicamente será a construção de um DataGrid, suas colunas e eventos. Israel Aece 23/10/2005 01:16:50 Controle Calendar e Banco de Dados http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=50 Muitas vezes armazenamos em um banco de dados informações com dados e seus respectivos acontecimentos. Existem vários exemplos disso em nosso dia à dia: Eventos que serão realizados em uma determinada data e também um outro exemplo bem conhecido é o de Agendas, onde armazenamos na base de dados os compromissos/anotações para aquela respectiva data. Neste artigo veremos como exibir os registros de uma base de dados dentro do Controle Calendar. Israel Aece 13/10/2005 21:39:42 Páginas Assíncronas do ASP.NET 2.0 - Parte 1 http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=49 No momento em que o ASP.NET 1.x recebe uma requisição para uma determinada página, o runtime do ASP.NET resgata uma Thread do Pool e atribui esta à requisição para que a mesma seja executada. Isso faz com que todo o processo, desde a inicialização até a renderização, seja processado por essa Thread. Isso é conhecido como um processo (ou página) síncrono, ou seja, a Thread que está sendo utilizada somente será liberada no momento em que esse processo finalizar. Veremos neste artigo, a nova forma em que o ASP.NET 2.0 trabalha, ou seja, com páginas assíncronas. Israel Aece 2/10/2005 11:12:25 Manipulando a Tag Body http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=48 Em muitas situações precisamos em tempo de execução adicionar ou mesmo alterar os atributos da tag body do WebForm. Um exemplo disso seria alterar a cor de fundo da página ou até adicionar um código JavaScript no evento onLoad. Para que possamos fazer essas manipulações, há alguns detalhes que não podemos deixar para trás. Veremos neste artigo como devemos proceder para alcançarmos esta funcionalidade. Israel Aece 27/9/2005 18:33:23 Pré-Compilação do ASP.NET 2.0 http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=47 Uma das mudanças mais impactantes do ASP.NET 2.0 em relação as versões anteriores, ASP.NET 1.x, é a forma de compilarmos a aplicação. Já estavamos acostumados durante a compilação da versão 1.x do ASP.NET, através do Visual Studio .NET, a geração de um arquivo do tipo DLL dentro do diretório \bin na raiz da aplicação, que correspondia a todo o código fonte da aplicação em questão. Veremos neste artigo algumas das formas de pré-compilarmos a aplicação ASP.NET 2.0. Israel Aece 16/9/2005 00:51:32 Linha do DataGrid - Disparando algum evento http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=46 Muitas vezes, quando dispomos aos usuários uma página web com uma listagem de registros e um botão de ação, sempre é interessante acoplar nesta solução uma funcionalidade que não está presente por padrão. Essa funcionalidade é habilitar a linha toda do controle DataGrid para executar a ação. Este artigo vai abordar este ponto, ou seja, aprender como gerar esta funcionalidade. Israel Aece 6/9/2005 20:29:32 Escrevendo Texto em Imagens http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=45 Há ocasiões em que dado uma string, devemos escreve-lá para o cliente através de uma imagem para evitar que ele não copie este conteúdo facilmente. Para criarmos isso no ASP.NET, existe diversas formas e uma delas vamos ver neste artigo. Israel Aece 26/8/2005 22:56:49 Múltiplos arquivos de configuração http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=44 Existe uma configuração no arquivo Web.Config que muitos desconhecem e, dependendo da quantidade de configurações que temos em nossa aplicação é bastante interessante utilizá-la. Trata-se do atributo file do elemento appSettings. Através dele podemos definir um arquivo à parte para colocarmos as configurações do nosso sistema ou o que acharmos necessário. Israel Aece 22/8/2005 21:02:45 Explorando o GridView http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=43 Neste artigo mostrarei o novo controle do ASP.NET 2.0, chamado GridView. Esta é uma versão muito melhorada do DataGrid das versões 1.x do ASP.NET, contendo uma série de vantagens, principalmente no que diz respeito à agilidade no desenvolvimento, ganhando assim uma enorme produtividade. Israel Aece 15/8/2005 21:59:15 Direção da Coluna com DataList http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=42 Há casos em que precisamos exibir os registros da nossa fonte de dados horizontalmente, definindo um número X de colunas. Para isso você pode utilizar o controle DataList, que já fornece instrinsicamente esta funcionalidade e veremos o uso desta neste artigo. Israel Aece 15/8/2005 21:12:25 Titulos da Página via CodeBehind http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=41 Em ocasiões é necessário darmos um título à página via CodeBehind, onde queremos customizar ainda mais a página à ser exibida ao Usuário final. Isso é bastante utilizado em seções do site onde o conteúdo é bastante dinâmico, e colocando o título da página já com o assunto específico que a mesma aborda. Israel Aece 15/8/2005 21:11:02 Recuperando o codigo HTML de WebControls http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=40 Há momentos em que necessitamos recuperar o conteúdo HTML que é renderizado por um determinado controle. Um cenário típico é quando precisamos enviar o código HTML gerado por um controle DataGrid por email para um usuário. Isso evitará percorrer novamente a fonte de dados para montar uma String para definí-la como o corpo do email. Facilmente, podemos recuperar este conteúdo sem muito código. Como todos os controles WebControls herdam direta ou indiretamente de System.Web.UI.Control, todos implementam o método RenderControl(HtmlTextWriter) e assim nos devolverá o conteúdo (em código HTML), por ele gerado. Israel Aece 15/8/2005 21:10:03 Coluna Booleana no DataGrid http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=39 Quando exibimos um conteúdo de uma tabela em um DataGrid e algum dos campos da mesma é uma coluna do tipo Booleana, muitas vezes precisamos dar ao usuário uma mensagem mais amigável do que um simples "True" ou "False". Neste caso, utilizamos o evento ItemDataBound do DataGrid e assim conseguimos interceptar o Bind no DataGrid, e com isso, verificamos o valor do campo booleano, personalizando assim, a mensagem ao usuário. Israel Aece 15/8/2005 21:08:55 Escrevendo Imagens através de Stream http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=38 Algumas vezes temos um Stream que contém dados para imprimirmos na tela para o usuário. Um cenário muito usado é quando por exemplo precisamos exibir ao usuário um avatar, ou mesmo uma imagem que está armazenada em uma DB qualquer e para não interferir o processamento da página corrente, criamos uma segunda página, esta responsável por recuperar o arquivo e carregar em um objeto do tipo FileStream, e assim, percorrer este objeto e imprimi-lo no browser. A classe FileStream está contida dentro do Namespace System.IO, qual temos que importá-lo para a utilização desta classe sem a necessidade de digitarmos o "path" completo da mesma. Apenas como exemplo, utilizaremos um arquivo que está no disco para exibição. Israel Aece 15/8/2005 21:07:34 DataGrid com Pop-up e Parametro http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=37 Muitas vezes precisamos exibir um conjunto de dados em um controle do tipo DataGrid e como os dados não estão todos sendo exibidos ao Usuário podemos criar uma nova janela onde passamos como parâmetro para a mesma o ID, identificando o registro, e assim nesta nova janela efetuamos uma nova Query na DB e assim retornamos seu conteúdo na íntegra. Israel Aece 15/8/2005 21:06:06 Lendo XML de uma String http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=36 Em determinados momentos quando não temos um arquivo XML fisicamente criado, mas temos seu conteúdo, qual foi recuperado de algum método ou mesmo uma Query SQL em uma String e necessitamos carregar essa String (o conteúdo XML) em um DataSet, podemos utilizar a classe StringReader juntamente com o método ReadXml do Dataset para isso. Israel Aece 15/8/2005 21:05:08 Transformando XML com XSLT http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=35 Quando temos um arquivo XML, podemos querer exibí-lo para o Usuário. Como seu formato é incompreensível para Usuários que não conhecem, pode-se estruturá-lo para exibir de uma forma mais amigável. Para isso utilizamos XSLT para transformar o XML, mostrando assim ao Usuário algo compreensível, utilizando HTML para formatar e exibir estes valores. Israel Aece 15/8/2005 21:02:24 Colorindo a Linha do DataGrid no Evento onMouseOver http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=33 Para que a navegação fique um pouco mais interativa para o Usuário, tornando-a bem mais inteligente. Algo que podemos fazer para melhorar, é quando o Usuário passar o ponteiro do mouse pelas linhas do DataGrid, a cor do background da célula muda para que o mesmo tenha uma referência de onde esta, que veremos neste artigo como criar. Israel Aece 15/8/2005 21:00:30 Colorindo Colunas do DataGrid http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=32 Exibe a forma customizarmos a coloração das colunas de um controle DataGrid. Israel Aece 15/8/2005 20:58:59 Protegendo todas as páginas de uma Aplicação http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=31 Em momentos precisamos criar algum tipo de aplicação em que todas as suas páginas são restritas, ou seja, todas necessitam que o usuário esteja autenticado para que tenha acesso as mesmas. Este artigo mostrará como restringir todas as páginas de uma aplicação ASP.NET. Israel Aece 15/8/2005 20:57:35 Preenchendo um DataList com Hashtable http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=30 Este artigo mostra a forma de como devemos fazer para manipular e preencher um controle DataList a partir de um objeto HashTable. Israel Aece 15/8/2005 20:55:56 Definindo Figuras para Navegação da Paginação no DataGrid http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=29 Quando definimos uma paginação "built-in" do DataGrid e optamos a navegação da paginação por botões de "Anterior" e "Proximo", por default o DataGrid "sugere" os caracteres: "<" e ">". Podemos também definir por exemplo estes botões com figuras que desejarmos, qual é o tema tema deste artigo. Israel Aece 15/8/2005 20:53:24 DropDownList com duas Colunas da DB http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=28 Este artigo exemplifica como podemos exibir duas colunas de uma fonte de dados dentro de um controle DropDownList. Israel Aece 15/8/2005 20:51:54 Sumarizando valores no DataGrid http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=27 Este artigo explica como devemos fazer para sumarizar uma determinada coluna do controle DataGrid. Israel Aece 15/8/2005 20:49:06 Novas "features" de Segurança http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=26 Na versão 2.0 do ASP.NET, com a grande gama de controles a nosso dispor para melhor trabalharmos o front-end (UI), temos ainda classes para manipular os usuários em nossa Base de Dados. Classes quais utilizam o Provider Model Design Pattern, e assim conseguímos ter um código genérico, idenpendentemente de que Banco de Dados (ou qualquer outro tipo de repositório) estamos utilizando em nossa aplicação. Israel Aece 15/8/2005 20:45:15 Objeto Profile [ Parte 2 ] http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=25 Dando seqüencia e finalizando o artigo sobre Profiles, que é uma nova "feature" do ASP.NET 2.0, veremos no decorrer deste artigo como configurar os Profile Providers e também como gerar relatórios para gerenciamento dos mesmos. Para quem quiser ler a primeira parte deste artigo, poderá visitá-lo <a href="/Articles/ViewArticle_ArticleID_53_ampCategoryID_1.html">neste link</a>. Israel Aece 15/8/2005 20:41:51 Validation Groups http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=24 Nas versões 1.x do ASP.NET temos um grande problema quando o assunto são os controles de validação. Isso ocorre quando temos mais de um botão que submete o formulário ao servidor, ou melhor, temos "ilhas" de controles em um mesmo WebForm (ASPX), que são independentes um dos outros, onde cada um deles trata informações diferentes. O problema é quando pressionamos qualquer um destes botões, todos os validadores são disparados, impossibilitando o usuário de continuar o processo, obrigando-o a preencher todo o formulário para prosseguir. Isso foi pensado melhor e resolvido na versão 2.0 do ASP.NET e a Microsoft incluio os chamados Validation Groups que é exatamente o tema deste artigo. Israel Aece 15/8/2005 20:40:11 Compressão de Arquivos http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=23 Nas versões 1.X do .NET não tínhamos nenhuma classe que pudesse nos disponibilizar recursos para comprimir e/ou descomprimir arquivos, o que nos forçava a buscar em outros componentes, de terceiros, esta funcionalidade se precisássemos disso em nossa aplicação, seja ela qual for. Já nesta nova versão temos um namespace exclusivo para isso, chamado System.IO.Compression, qual é o foco deste artigo. Israel Aece 15/8/2005 20:37:01 Objeto Profile [ Parte 1 ] http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=22 Neste artigo apresentarei um overview do novo objeto do ASP.NET 2.0, chamado Profile qual tem a finalidade específica de armazenar informações de um determinado usuário em seu contexto. Israel Aece 15/8/2005 20:33:32 Performance em Aplicações http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=21 Este artigo abordará boas práticas de escrita de código, tratamento de Exceptions, validações e principalmente performance em aplicações ASP.NET. Entre estes, vamos ver: validação de dados que o usuário insere no sistema, Data Binding, Cache, ViewState, Session, Server Controls, acesso à dados entre outras características do ASP.NET, que se, mal usadas podem causar um impacto negativo na aplicação desenvolvida. Israel Aece 15/8/2005 20:31:26 Criando objetos SQL com .NET (CLR - Managed Code) http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=20 Vamos ver no decorrer deste artigo como fazer para criar esses tipos de objetos utilizando uma linguagem .NET. O artigo se baseia na versão Beta 2 do SQL Server 2005 e versão Beta 1 do Visual Studio .NET 2005. Vale lembrar que, pelo fato destes softwares estarem ainda em suas versões betas, é possível que até a sua versão final alguma característica possa vir a mudar. Israel Aece 15/8/2005 20:28:54 Guia Inicial do NHibernate http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=19 NHibernate é um Framework baseado em .NET para persistir os objetos para bases de dados relacionais. Baseado em uma ferramenta de persistência de dados do Java, chamado <a href="http://www.hibernate.org">Hibernate</a>, o NHibernate tem a finalidade de persistir os objetos .NET em uma base de dados relacional subjacente. Isso facilita muito ao invés de escrever códigos SQL dentro e fora da base de dados, pois o NHibernate gera o código SQL necessário, certificando-se que os tipos e o valores são corretamente criados. Israel Aece 15/8/2005 20:25:05 Creational Pattern - Builder http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=18 Há algum tempo já falamos de uma pattern que fazia parte da seção Behavioral (Comportamental), chamada Template Method. Este artigo falará sobre uma outra pattern chamada Builder, que por sua vez encontra-se na seção Creational (Criacional). Israel Aece 15/8/2005 20:21:05 Paginando Dados utilizando DataList http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=17 Ao contrário do DataGrid, o DataList não nos fornece <i>wizards</i> para a paginação do mesmo, tendo assim que criarmos uma customizada, recuperando e exibindo os dados da página que o usuário desejar visualizar. Há momentos em que o <i>result-set</i> da base de dados é muito grande, ou seja, é retornado uma grande quantidade de registros, o que pode custar muito caro para o cliente, tendo que receber todos os registros, e exibir apenas os registros que se enquadram na página atual, e limitando ao número de registros por páginas. O artigo mostrará como retornar somente os registros da base de dados qual se enquadram com a página que o usuário requerer, através de uma Stored Procedure. Israel Aece 15/8/2005 20:18:37 Behavioral Pattern – Template Method http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=16 Neste artigo abordaremos sobre a Pattern Template Method que está contida dentro da seção Behavioral (Comportamental). Israel Aece 15/8/2005 20:13:58 Disparando o Evento SelectedIndexChanged do DropDownList dentro do DataGrid http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=15 Este artigo explicará como construir um DataGrid onde dentro dele, quando editarmos um determinado registro, a linha em edição deverá mostrar os DropDownLists (Estado e Município, respectivamente), onde ao selecionar o Estado, o segundo DropDownList deverá ser populado com as cidades referentes aquele Estado selecionado pelo usuário. Israel Aece 15/8/2005 20:09:07 Analisando o Microsoft PetShop 3.0 http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=14 Para quem não conhece, o Microsoft PetShop 3.0 é uma aplicação de uma loja virtual fictícia que vende pequenos animais que a Microsoft construiu com o propósito de um caso de estudo baseado no Java Pet Store da Sun, mas construindo-a sob a Plataforma .NET. Mas este artigo não tem o intuito de mostrar esta comparação e sim abordar a estrutura em que o mesmo foi construído. Para quem se interessar, poderar ver o estudo/análise desta comparação através deste link: <a href="http://www.middleware-company.com/buzz/buzz0703.jsp">http://www.middleware-company.com/buzz/buzz0703.jsp</a>. Israel Aece 15/8/2005 20:04:50 Data[Grid][List], Arquivos e Imagens http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=13 Muitas vezes em nossos sistemas de internet, precisamos exibir uma listagem os arquivos que estão no disco do servidor para o Usuário, seja para uma simples conferência ou até mesmo para edição do mesmos (quando possível). O .NET Framework nos fornece diversas classes para acesso à arquivos e diretórios. Todas contidas dentro do Namespace System.IO. Neste artigo veremos sobre a classe DirectoryInfo e sobre o método GetFiles(). Israel Aece 15/8/2005 19:59:52 Migrando de ASP para ASP.NET http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=12 Com a vinda do ASP.NET e o Visual Studio .NET, quem utiliza o ASP para o desenvolvimento de aplicações Web sentiu e sente dificuldades para tal migração, principalmente com o novo conceito de Code Behind que tem por finalidade de separar o código que é executado no servidor do HTML que é exibido no cliente. Este artigo tem como finalidade mostrar aos desenvolvedores ASP como são realizados os mais frequentes processos, fazendo uma comparação entre ASP e depois em ASP.NET, iniciando com um overview sobre a plataforma .NET. Israel Aece 15/8/2005 19:57:24 Adicionando Registros no DataGrid http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=11 Neste artigo apresentarei uma forma de inserção de registros diretamente no DataGrid. Sendo assim, não haverá a necessidade da criação de um formulário à parte para a manipulação do cadastro em questão. Israel Aece 15/8/2005 19:53:36 Formatando Valores em Colunas do DataGrid http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=10 Frequentemente quando utilizamos um controle do tipo DataGrid, e inserimos valores do tipo Data, Dinheiro, Inteiros ou Decimais, precisamos formatar esse valor de acordo com a finalidade desse Campo. Nesse artigo apresentarei a propriedade DataFormatString da classe BoundColumn de um DataGrid. Israel Aece 15/8/2005 19:48:44 Configurando uma Aplicação http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=9 Hoje temos dois arquivos bastante importantes quando trabalhamos com aplicações ASP.NET. São eles: Global.asax e o arquivo Web.Config. Esses arquivos tornam a Aplicação bastante flexível, pois reúnem as configurações e eventos em um único lugar. Israel Aece 15/8/2005 19:44:58 Dicas úteis ao dia à dia http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=8 Depois de receber várias dúvidas via E-Mail, e selecionar algumas dúvidas dos Fóruns que participo, resolvi escrever este artigo colocando diversas funcionalidades que precisamos no dia-à-dia que muitas das vezes não lembramos como se faz. Israel Aece 15/8/2005 19:42:25 Trabalhando com Arquivos http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=7 Frequentemente necessitamos trabalhar com arquivos, sejam eles "/Sections/.txt", "/Sections/.xml", ".csv", etc. Nesse artigo mostrarei como fazemos para criar, excluir, ler arquivos e diretórios a partir de uma Aplicação Web (ASP.NET). Israel Aece 15/8/2005 19:40:47 Construindo uma Área Restrita http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=6 Sempre que construímos uma aplicação Web, é muito comum criarmos áreas administrativas e restritas, onde os usuários poderão gerenciar o conteúdo das páginas, pedidos, clientes, entre muitas outras coisas. Neste artigo explicarei como fazermos para criarmos uma área restrita em sua aplicação. Israel Aece 15/8/2005 19:37:29 System.Collections.CollectionBase http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=5 É muito comum em runtime retornarmos valores da Base de Dados e armazenarmos em DataSets, mas com isso ocorre o “Weakly Typed” e o “Late Binding”, ou seja, não temos a segurança de tipos e o acesso à suas propriedades somente ocorre durante o tempo de execução. Tendo esse problema, o que podemos fazer para termos nossos próprios objetos com suas respectivas propriedades e métodos ao invés de uma genérica? Então neste artigo explicarei como podemos criar uma coleção customizada, onde utilizaremos o CollectionBase. Israel Aece 15/8/2005 19:35:11 IEWebControls - TabStrip e MultiPage http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=4 O Microsoft IE Web Controls nos disponibiliza ótimos controles para o desenvolvimento de Aplicações Web. Neste artigo abordarei sobre o TabStrip e o MultiPage, que usando-os em conjunto, podemos deixar nosso WebForm bastante intuitivo e de fácil acesso ao usuário final. Israel Aece 15/8/2005 19:32:16 Criando um DALHelper http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=3 Como a maioria dos sistemas atuais necessitam de Base de Dados, sempre quando precisamos acessar, inserir, alterar ou excluir um determinado registro, precisamos criar a conexão com a Base de Dados, definir a query, os parâmetros e escolher a opção para executá-la (ExecuteNonQuery, ExecuteScalar ou ExecuteReader). Para não ficarmos fazendo a todo momento todos esses passos, ou seja, criar conexão, parâmetros, etc., explicarei nesse artigo como criar um DALHelper. DALHelper quer dizer: Data Application Layer (Camada de Dados) e Helper (Ajudante), que auxiliará no acesso aos dados, reduzindo assim a quantidade de código em nossa Aplicação. Israel Aece 15/8/2005 19:26:56 DataGrid Editável http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=2 Neste artigo explicarei como utilizar o controle Datagrid do ASP.NET para editar registros utilizando Template Columns onde utilizaremos dentro do mesmo controles como CheckBox e DropDownList. Israel Aece 15/8/2005 19:23:57 Depurando e Tratando Erros http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=1 Este artigo explica a forma de tratar e depurar erros utilizando a plataforma .NET com exemplos em Visual Basic .NET. Israel Aece 15/8/2005 19:20:41