Pular para o conteúdo principal

Postagens

Mostrando postagens com o rótulo ASP

Página ASP para manipular dados

  Dando continuidade a nossos artigos sobre como se conectar a um banco de dados , montar um DataTable para mostrar os dados e como inserir, atualizar e remover dados ,montaremos hoje uma página ASP que nos permita utilizar a classe criada nos artigos anteriores. Em resumo teremos dois campos TextBox que receberão os novos dados a serem inseridos, editados ou removidos, três Buttons para executar uma das ações referidas acima e um GridView para apresentar as informações. No codebehind um método para carregar os dados no GridView, um método para cada Button e dois métodos para o GridView, um para mandar os dados selecionados para os TextBox e outro para a paginação. Nossa página final terá o formato apresentado na imagem abaixo, o projeto final pode ser baixado aqui .

Inserir, atualizar e apagar dados (ASP .NET c#)

Finalizando nossa classe (não esqueçam do método getDataTable ) criaremos um método para realizar atualizações em tabelas com comando DML como INSERT, UPDATE E DELETE: //         //executa INSERT, UPDATE ou DELETE         public int execSQL( String sql)         {             //             //se a conexão estiver fechada abre             if (con.State.ToString().Equals( "Closed" ))             {                 abreCon();             }             //             int res = 0;             //             //monta sql no command             using ( OleDbCommand cmd = new OleDbCommand (sql, con))             {                 cmd.CommandType = CommandType .Text;                 //                 //executa SQL                 try                 {                     res = cmd.ExecuteNonQuery();                 }                 catch                 {                 }                 //                 //finaliza objetos                 cmd.Dispose();             }       

Montar DataTable (ASP .NET c#)

Dando continuidade a nossa classe , criaremos hoje um método que baseado em uma consulta SQL retorna um DataTable para ser utilizado por um GridView por exemplo, vamos ao código: //         //retorna DataTable (usado para rotinas com gridView)         public DataTable getDataTable( String sql)         {             //             //             //monta sql no command             OleDbCommand cmd = new OleDbCommand (sql, con);             cmd.CommandType = CommandType .Text;             //             //cria DataAdapter             OleDbDataAdapter da = new OleDbDataAdapter (cmd);             //             //cria datatable             DataTable tab = new DataTable ();             //             //carrega datatable com o resultado da consulta no dataadapter             da.Fill(tab);             //             //finaliza objetos             cmd.Dispose();             cmd = null ;             da.Dispose();             da = null ;             //             //retorna o datatable  

Método para conexão com banco de dados (ASP .NET c#)

Mostraremos hoje como construir um método que realiza a conexão com uma base de dados Oracle, para tal criaremos na pasta App_Code nossa classe chamada manipulaBD, nos próximos artigos utilizaremos ela para criar os outros métodos, agora devemos codificá-la da seguinte forma:         public manipulaBD()         {             String caminho = "" ;             try             {                 //                 //monta string de conexão                 caminho = "Provider=MSDAORA;" ;              //nome do provedor, que no nosso caso é Oracle                 caminho += "Data Source=ORCL;" ;             //nome da base                 caminho += "Persist Security Info=True;" ;                 caminho += "User ID=atendimento;" ;                 caminho += "Password=atendimento" ;                 //                 //cria a conexão                 con = new OleDbConnection (@caminho);                 //                 //abre a

Desabilitar POST do ENTER ASP .NET

Caso não seja necessário uma atualização de página a cada vez que o usuário pressionar a tecla “ ENTER ” podemos codificar uma pequena função em javascript anulando esse comportamento, segue o código: < script language ="javascript"> function desabilitaPostDoEnter(e) {      var key;      if (window.event)           key = window.event.keyCode;  //IE      else           key = e.which;                      //firefox      if (key == 13)           return false ;      else           return true ; } </ script > Agora nos objetos que se deseja cancelar o “ POST ” basta apenas chamar a função, segue o exemplo de um “ TextBox ”: < asp : TextBox ID ="TextBox1" runat ="server" onKeyPress ="return disableEnterKey(event)"></ asp : TextBox >

Arquivo de configuração ASP .NET

Para quem não quer gravar certas informações no web.config pode muito bem estruturar um arquivo xml para guardar informações, segue um exemplo em C# de como fazer isso:      //     //gravando informação no CONFIG.xml     public void gravaConf(String tipo, String val)     {         String par = "";         //         //Carrega em DOC o arquivo XML, o caminho pode ser uma url ou diretorio local                XmlDocument doc = new XmlDocument();         doc.Load(HttpContext.Current.Server.MapPath("~/CONF/CONFIG.XML"));         XmlNode no;         no = doc.SelectSingleNode("//CONF/" + tipo);         no.InnerText = val;                 doc.Save(HttpContext.Current.Server.MapPath("~/CONF/CONFIG.XML"));                doc = null;     } // //recupera informação do CONFIG.xml public String recuperaConf(String tipo) {     String par = "

Ajax ASP .NET

Em determinado sites somos surpreendidos por certas funcionalidades que prendem nossa atenção, certas vezes mais até que o próprio conteúdo, como efeitos modais para confirmação, máscaras de dados, calendários dinâmicos, refreshs localizados entre outras coisas. Não é novidade que todas essas coisas geralmente são fruto da utilização de ajax , e para quem usa o Visual Studio existe um Framework muito bom, simples de instalar e fácil de usar, estou falando do ASP .NET AJAX . Por enquanto deixarei apenas um breve tutorial de como instalar e os links para download, e em breve alguns exemplos de uso práticos. Para baixar você visita o CodePlex ou diretamente por aqui (eu recomendo o NoSource ), depois de baixar é só descompactar o arquivo; A instalação é simples, com seu site já criado crie uma nova aba na ToolBox (clicando com o direito e selecionando Add Tab ), com a aba criada clique com o direito nela e escolha Choose Items , na tela que se abrir clique em Browse e pr

Hyperlink com parâmetro no GridView

Em certas ocasiões precisamos “ chamar ” outra página passando para esta determinados elementos para que ela apresente determinada informação de modo direto, sem intervenção do usuário. Quando essa necessidade surge a partir de dados de um determinado registro do GridView podemos nos utilizar dos Hyperlink, com ele especificamos uma lista de parâmetros, um endereço a ser chamado no “ click” juntamente com os parâmetros a serem passados para a nova página. Exemplo: A maneira de se fazer depende de como as colunas de seu GridView são construídas, se em tempo de desenvolvimento ou execução, mas basicamente o que deve ser feito é o seguinte: Adicione o campo do tipo Hyperlink no GridView; Na propriedade DataNavigateUrlFields coloque sua lista de parâmetros (são as colunas do GridView que você deseja passar); Na propriedade DataNavigateUrlFormatString deve ser colocado o endereço da nova página seguida da identificação dos parâmetros e sua posição no array, ex.: novaPag

Envio fácil de e-mail ASP .NET C#

Usando o .NET existe uma maneira simples de enviar email com o SmtpMail , vamos ao exemplo: O .aspx: <%@ Page Language="VB" AutoEventWireup="false" CodeFile="email.aspx.vb" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < html xmlns = " http://www.w3.org/1999/xhtml" > < head id = "Head1" runat = "server" >     < title >Envio de Email</ title > </ head > < body >     < form id = "form1" runat = "server" >     < p >         < b >ENVIO DE EMAIL</ b ></ p >     < p >         < asp:Label ID = "lbSituacao" runat = "server" ></ asp:Label >     </ p >     < p >        

Exportar dados do GridView para o Excel

Mais cedo ou mais tarde pessoas acostumadas a visualizar ou manipular informação no Excel, mesmo possuindo uma boa aplicação que lhe fornece todas as visões de dados realmente necessárias acabam por pedir por uma funcionalidade que permita essa exportação. Iremos construir dois métodos, que podem ser utilizados independente do tipo de componente, banco de dados ou consulta, desde que a informação esteja representada dentro de um GridView. O primeiro método será responsável por converter campos de controle como CheckBox, DropDownList ou qualquer outro que não represente a informação em si, e o segundo será a execução da exportação: private void ExportaGridView() {     string attachment = "attachment; filename=Contacts.xls" ;     Response.ClearContent();     Response.AddHeader( "content-disposition" , attachment);     Response.ContentType = "application/ms-excel" ;     StringWriter sw = new StringWriter ();    

Como pegar valor de coluna invisível do GridView

Em determinado momento nos deparamos com a seguinte situação, nossa tabela do banco de dados possui como campo chave, um ID por exemplo, incrementado por uma rotina da aplicação, do banco ou algum outro mecanismo de incremento (sequences, increment, etc), logo não há porque mostrar essa coluna para o usuário porque o mesmo não sabe de sua existência, e seu valor não tem qualquer relevância para ele, sendo assim o mais lógico a se fazer é não mostra-lá na aplicação. Seu valor é necessário já que por se tratar de uma chave primária precisaremos dela para atualizar, inserir ou excluir os dados, então o que fazer? A resposta seria simples, deixemos ele invisível, buscaremos seu valor e o usuário não perceberá, porém a partir da versão 2005 do visual Studio as colunas setadas com "visible = false" não são renderizadas, com isso ao se tentar acessar seu valor o que recebemos é nada. Para contornarmos essa situação podemos codificar o seguinte: protected void GridView1_R

ASP .NET Repeater

Com o Repeater é possível definir modelos ( Templates ) para as páginas tornando mais fácil a criação de layouts com interação a bases de dados, vamos a algumas definições: ItemTemplate: Utilizado por elementos que devem ser construídos a cada registro de uma consulta; AlternatingItemTemplate: Usado para alternância de registros, como diferencial para cores de fundo por exemplo; HeaderTemplate: Usado por elementos que devem ser construídos antes dos ItemTemplate ; FooterTemplate: Parecido com o HeaderTemplate , mas como deu para perceber é usado depois do ItemTemplate ; SeparatorTemplate: São separadores utilizados entre os elementos, como quebras de linha; Segue agora um pequeno exemplo de uso: Trecho do Web Form que contém o Repeater: .... <asp:Repeater ID="catlist" runat="server"> <HeaderTemplate> <tr>   <td class="imgspace"> <img src="Images/

Aplicativo do servidor não disponível .NET

Recentemente ao realizar um teste com publicação de minha aplicação me deparei com o erro: Aplicativo do servidor não disponível O aplicativo da Web que você está tentando acessar neste servidor Web não está disponível no momento.  Clique no botão "Atualizar" no navegador da Web para repetir a solicitação. Observação do administrador: Uma mensagem de erro detalhando a causa da falha de solicitação específica pode ser encontrada no log de eventos de aplicativo do servidor Web. Examine essa entrada de log para saber o que ocasionou o erro. Bom depois de uma procura percebi que o tal erro é comum, já que encontrei várias entradas em fóruns a respeito, confesso que boa parte das soluções sugeridas não funcionaram para mim, porém uma delas resolveu meu problema, então vamos ao passos: Motivo: Como mencionado pela pessoa que deu a dica, eu de fato havia instalado o Visual Studio antes da instalação do IIS, o que gerou um mapeamento falho (se é que esse ocorreu); Solu

Menu fácil é com o skmMenu

Programar para web nos traz alguns infortunios como a limitação de componentes (ou do controle de eventos sobre os mesmos), logo o layout acaba se tornando algo demorado (principalmente se você assim como eu está acostumado com desenvolvimento desktop). Por isso um de meus achados recentes é o skmMenu , ele torna mais fácil a construção de menus no asp, tudo o que você tem a fazer é incorporar a dll (download aqui ) do componente ao projeto, colocar o objeto em algum lugar da página e pronto ( guia de instalação ). Ele oferece (até onde eu pude ver)  três maneiras de se inserir dados no menu, a primeira delas (usada em exemplos do site ) é o xml, você estrutura o arquivo, associa ele ao DataSource do menu e executa um DataBind, pronto tá lá seu menu, bom acredito que a menos que você vá trabalhar com um menu estático essa maneira não é a melhor. Como vocês puderam perceber eu falei em DataSource e DataBind, sim é possível ligar o menu a uma consulta ao banco de dados (estruture tudo no

GridView com caching

Olá a todos, o GridView é um componente poderoso para mostrarmos informações recuperadas de uma tabela do banco de dados, onde cada coluna pode representar uma coluna real da tabela, mostrar imagens, caixas de seleção, botões, enfim da para fazer várias coisas com o danado. Bom, logo que comecei a trabalhar com ele verifiquei que mostrar muita informação de uma única vez fazia com que o GridView ficasse muito grande (levando em consideração que ele ficará em uma página da web não é algo agradável), puro amadorismo meu pois ele possui uma série de opções de configuração que vai desde escolher de forma simples as cores do efeito “zebrado”, ordenação e paginação, esta última resolve de uma forma muito satisfatória o problema levantado acima. Tudo jóia até então, deixando de lado alguns pequenos problemas algo que realmente me deixou atento foi a necessidade de refazer e mesma consulta ao banco várias vezes, considerando o ambiente de nossa aplicação seria algo nada recomendável, logo com

Login com segurança baseada em formulários .NET

Olá a todos, esse é o nosso primeiro artigo relacionado ao .NET e confesso que ainda tenho muito a aprender. Como em todo novo processo de aprendizagem realizamos novas descobertas e agora irei compartilhar aqui uma de minhas primeiras. Quando iniciei meus estudos comecei com a tela inicial de todo sistema (ou quase todos) a tela de login, onde o usuário ganha acesso ao restante das aplicações. Procurando pela net encontrei esse ótimo tutorial do Macoratti , simples e direto que me ajudou muito a construir a minha própria tela de login. Segue abaixo o tutorial na integra, sem alterações, peço que todos que se utilizarem dele dêem um pulo no site para prestigiá-lo. ASP.NET - Usando segurança baseada em formulários (por José Carlos Macoratti) O ASP.NET realiza muitas tarefas que antes , usando ASP, ficavam por conta do programador. O Controle de Login com ASP.NET ficou muito simples de ser realizado. Vamos então mostrar como ficou o processo de proteger páginas dinâmicas com ASP.NET. El