Utilizando o Controle PlaceHolder

5 09 2008

A classe placeHolder permite que você adicione um conteiner vazio na página e em seguida, dinamicamente, adicione elementos filhos a ela em tempo de execução.
O Controle de servidor Web, PlaceHolder, permite que você coloque um caixa de controles em branco dentro da página e, em seguida, dinamicamente é possivel adicionar, remover ou adicionar elementos filho em tempo de execução. O controle processa apenas seus elementos filho; ele não processa nenhuma marcação por si próprio.

Sendo assim é possivel utiliza-lo para criar , por exemplo, vários botões com funcionalidades personalizaveis, para criar um ambiente porsonalizado ao usuário, ou também utiliza-lo para carregar página ascx dentro de sí.

Uma maneira prática de se criar Modelos de página

Uma maneira facil de se criar modelos é fazer o layout da página em uma página aspx, com excessão da área que receberá o conteudo do site. Por exemplo:

 Posso criar uma página com o layout do meu menu, testeira e rodapé e deixar uma área separada para colocar o componente placeHolder para incorporar a página ascx que terá o conteúdo do site.

Código de exemplo

Adicione na página aspx o código:
<asp:placeholder id=”ph1″ runat=”server”></asp:placeholder>
No evento onload da página utilize:

        If Request.QueryString(“pagina”) <> “” Then
            Dim strLoad As String
            strLoad = Request.QueryString(“pagina”) & “.ascx”
            Dim myControl As Control = CType(Page.LoadControl(strLoad), Control)
            ph1.Controls.Add(myControl)

        Else
            Dim strLoad As String
            strLoad = “clientes.ascx”
            Dim myControl As Control = CType(Page.LoadControl(strLoad), Control)
            ph1.Controls.Add(myControl)

        End If





Enviando e-mail com autenticação de smtp no Asp.Net

12 08 2008

A maioria dos servidores de e-mail no Brasil utiliza-se de autenticação para validar o usuário que esta enviando o e-mail, isso é para a segurança do próprio usuário e do servidor também, e ainda ajuda a previnir pessoas mau intencionadas que enviam span.

Sendo assim hoje vamos aprender uma tatica para autenticar o usuário para enviar e-mail. No web.config adicione o seguinte:

<system.net>
      <mailSettings>
        <smtp>
          <network
               host=”smtp.meuservidor.com.br”
               port=”25″
               userName=”usuário”
               password=”senha” />
        </smtp>
  </mailSettings>
</system.net>

Agora vamos explicar o que siguinifica cada uma desses opções:

 host: É o servidor de e-mail, ele é o encarregado de enviar as suas mensagens.
 port: a porta de conexão que será utilizada, por padrão é a  25.
 username: Nome de usuário, geralmente é o mesmo que o e-mail.
 password: a sua senha.. ****  🙂

com esta configuração no seu web.config você conseguirá autenticar seu usuário no servidor de e-mail, e conseguirá enviar e-mail a vontade.





Cinco passos para iniciar com o ASP.NET

11 02 2008

Como iniciar nesta linguegem que esta se tornando cada vez mais popular e poderoza, tendo muitos componentes, classes, etc, agragados, uma ferramenta em total evolução.

Mais para frente vamos falar sobre outra evolução o Silverlight

Nós iremos caminhar a través de cinco passos para iniciar com o ASP.NET. Nas colunas seguintes nós iremos explorar algumas características legais encontradas no ASP.NET, como: mudanças no desenvolvimento, administração de estado, modelo de processos, controles, segurança, e assim sucessivamente.

Passo 1: Baixar e Instalar o .NET SDK
O ASP.NET é fornecido como parte do .NET SDK, que é uma coleção de todas as tecnologias necessárias para criar, construir, e testar aplicações baseadas no .NET Framework. Para baixar e instalar o .NET SDK, vá para a seção de Download do MSDN . O Download é de aproximadamente 111 MB, existe a opção de baixar o SDK em uma série e arquivos menores.

Antes de você instalar o ASP.NET, você precisa instalar o Internet Explorer 5.5, o qual você pode baixar em http://msdn.microsoft.com/isapi/gomscom.asp?TARGET=/windows/ie/ .

Fonte: http://www.microsoft.com/brasil/msdn/tecnologias/aspnet/aspnet_cincopassos.aspx

Nota: Embora seja previsto que a tecnologia do SDK suporte apenas as versões Servers do Windows 2000 com o Internet Information Services (IIS) 5.0, o Beta 1 suporta o Windows NT 4.0 e o IIS 4.0.

Passo 2: Instalar o .NET Framework Quickstart Samples
Uma vez que você tenha instalado o SDK, você deve também instalar o .NET Framework Quickstart Samples(amostras). Incluídos dentro do .NET SDK, as amostras do Quickstart contém exemplos detalhados de várias características e outras tecnologias do .NET.

Para instalar as amostras do Quickstart:

1. Abra o SDK Overview link(‘.NET Framework SDK Overview’), que é adicionado à sua área de trabalho durante a instalação do SDK.

2. Uma vez que esta página HTML é aberta, siga para o link “The .NET Framework Samples”.

3. Siga os passos de instalação para instalar as amostras(samples).

4. Depois da instalação ser completada, você pode acessar as amostras em http://localhost/quickstart/default.htm.

5. Finalmente, uma vez que você navegue pelo documento padrão, você pode selecionar o link ASP.NET no topo da página. O link contém uma listagem de amostras(samples) do ASP.NET

Passo 3: Se inscrevendo na lista de discussão ASPNG

Charles Carrol, um dos grupos crescentes da comunidade ASP.NET, é um local agradável de hospedagem de listas de discussão baseadas em e-mail para o ASP.NET; de fato, ele esteve disponível desde o primeiro dia do PDC(Professional Developers Conference), em julho passado.

Esta lista de discussão é um dos melhores lugares para aprender e contribuir no crescente mergulho dos desenvolvedores na tecnologia ASP.NET. Charles monitora e filtra todas as mensagens para ter certeza que todos os tópicos são relevantes para a lista, você nunca receberá “spam” ou assuntos fora dos tópicos de discussão.

Além dos aspectos de comunidade da lista, a equipe da Microsoft do .NET Framework participa regularmente das discussões e envia códigos de exemplos. Mais recentemente, Scott Guthrie enviou um exemplo de geração de imagem dinâmica no ASP.NET.

Para se inscrever na lista de discussão, simplesmente visite http://www.asplists.com/asplists/aspng.asp . Nesta página você irá encontrar uma lista completa de listas de discussão por e-mail sobre ASP.NET em uma variedade de tópicos. A lista mais ativa, e uma que eu sugiro que se inscreva, é a ASPNGBeta. Selecione ASPNGBeta da lista. Você pode também visitar diretamente http://www.asplists.com/asplists/aspngbeta.asp e selecionar as opções de como você deseja receber a distribuição dos e-mails.

Passo 4: Perguntas mais freqüentes

Minha aplicação ASP existente irá parar se eu instalar o SDK e utilizar o ASP.NET?

Não, aplicações ASP.NET podem rodar lado-a-lado com aplicações ASP existentes.

As extensões utilizadas pelo ASP(.asp, .asa) e as utilizadas pelo ASP.NET(.aspx, .asax, .ascx, .asmx, etc.) são completamente distintas e não podem anular umas as outras. Além disso, uma extensão ISAPI controla o processo das aplicações ASP.NET.

Embora aplicações Asp e Asp.Net possam rodar lado-a-lado, até dentro do mesmo diretório, elas não compartilham informações de aplicação. Por exemplo, atribuições feitas dentro do global.asa não serão aplicadas para aplicações ASP.NET; atribuições feitas no global.asax não serão aplicadas em aplicações ASP. Semelhantemente, informações de estados de Aplicação e de seção não são compartilhadas. Dados de seção adicionados para usuários em uma aplicação ASP.NET não estarão disponíveis para o mesmo usuário em uma aplicação ASP a menos que seja recriada.

É pré-requisito o Visual Studio ou outra ferramenta para a criação de páginas ASP.NET?

Não. Embora o Visual Studio.Net possibilite um fantástico ambiente de design, codificação, e de depuração, ele não é necessário para a construção de aplicações ASP.NET. ASP.Net segue o mesmo princípio de design do ASP: Qualquer editor de texto pode ser utilizado para criar aplicações ASP.NET. Quando uma página ASP.NET é acessada pela primeira vez, ela é compilada automaticamente, e chamadas futuras irão acessar o recurso compilado.

O ASP.NET roda sobre o Windows 95, Windows 98 e Windows ME?

Não. Você certamente utiliza uma destas plataformas como sua máquina de desenvolvimento, mas sua aplicação ASP.NET deve rodar sobre um Web Server, ou o Windows 2000 ou o Windows NT 4.0, com o IIS instalado.

Passo 5: Aprenda mais

Neste passo eu tentarei esboçar alguns dos grandes recursos já disponível on-line, impressos e pessoalmente. E continuarei a listar novos recursos e eventos vindouros assim que eu saiba deles.

Exemplo de aplicação Microsoft ASP.NET IBuySpy

IBuySpy é uma aplicação de e-commerce com todas as características provendo uma introdução excelente a construção de aplicações Web de alta performance e escalabilidade utilizando o ASP.NET. Você pode navegar pela aplicação online, incluindo toda a documentação e código de exemplo, ou fazer o download completo do código C# ou Visual Basic.Net.

ASP.NET Hosting

Brinkster Inc. , é o maior espaço livre de hospedagem para páginas ASP, agora eles estão oferecendo hospedagem grátis de ASP.NET. Os membros tem 5 MB para testar e aprender ASP.NET. A “sociedade” é para propósitos de teste e aprendizado, e oferece aos desenvolvedores a oportunidade de explorar esta nova tecnologia. Brinkster tem oferecido hospedagem ASP por mais de um ano e é líder no mercado de hospedagem ASP/ASP.NET.

Sites de Comunidades e Listas de Distribuição

A comunidade(pessoas, eventos, listas de discussão, newgroups, etc.) formada para o ASP.NET é fantástica. Alguns destes sites possuem exemplo de início rápido online – o que significa que você pode tentar o ASP.NET, mas nunca instale-os!
http://www.aspfree.com – Este é um dos sites da comunidade ASP.NET mais compreensiva, feita por Steve Scholfield. Aqui você pode encontrar dezenas de artigos sobre ASP.NET, junto com exemplos de início rápido online; uma grande alternativa para o aprendizado de ASP.NET se você não pode instalar o SDK do .NET. Como bônus, você tem o capítulo 1 do livro “A Preview of ASP.NET” da Wrox, disponível online.

http://www.aspng.com – Outro dos mais compreensíveis sites relacionados ao ASP.NET. ASPNG, inclui links para páginas de classes ASP.NET hospedadas por Charles Carrol e “whorkshops” de ASP.NET hospedadas por Stephen Walther. Por fim, ASPNG possui uma das mais ativas listas de discussão por e-mail(veja http://www.asplists.com).

http://www.ASP101.com – Uma dupla de artigos relacionados ao ASP.NET e um fórum de discussões sobre o mesmo assunto.

http://www.asptoday.com – Revista online da editora Wrox possui 10 artigos escritos sobre ASP.NET, variando do ADO+ até construção de “server controls”.

http://4guysfromrolla.com – 4GuysFromRolla possui um grupo de artigos e outros recursos relacionados, incluindo alguns artigos de ADO+, assim como um detalhado artigo de avaliação do ASP.NET.

http://www.devx.com – Finalmente, devx.com contém um das mais compreensíveis listas de ASP.NET e recursos relacionados com o .NET disponíveis. De livros a sites e eventos, você encontrará algo de interessante aqui.

Livros

Atualmente existem três livros disponíveis sobre .NET:

Presenting C# – Mostra uma avaliação condensada sobre a nova linguagem C#, uma das varias linguagens suportadas pelo ASP.NET. Se você deseja rapidez e uma fácil leitura sobre o C#, você provavelmente deseja este livro.

A Preview of ASP+ – dá ao leitor uma introdução ao ASP.Net para criar páginas ASP.NET, como Web Services, dados e controles. Adicionalmente cobre tópicos como migração do ASP para o ASP.NET, o modelo de objetos do ASP.NET e como utilizar componentes COM no .NET. Este livro é anterior a versão Beta 1.

A Programmer’s Introduction to C# – escrito por Eric Gunnerson, um membro da equipe do C#, da uma olhada profunda na linguagem C# do .NET.

Eventos

Se você deseja ver alguma conferência ou ver algumas apresentações sobre ASP.NET e .NET Framework eu sugiro as seguintes:
Wrox – A conferência européia de desenvolvedores da Wrox, que começa em 29 de novembro em Amsterdã, nos Países Baixos, irá cobrir uma variedade de tópicos relacionados ao ASP.NET e .NET em geral. Membros da equipe do .NET Framework irão comparecer e se apresentar na conferência. Nós esperamos ver você lá.

ASPConnections – ASP Connections, primeiro de abril, em New Orleans, Los Angeles, mais de 60 apresentações de ASP.NET e seções de ASP apresentadas pela Microsoft e outras companhias. A conferência irá cobrir tudo o que você precisa saber sobre ASP.NET ou para impulsionar a performance de sites ASP. A inscrição inclui mais de 40 seções “leading-edge” de XML de conexões XML.

ASP.NET CrashCourse – Estes quatro Dias de workshop intensivos, tem o foco em como construir formulários HTML complexos e interativos com os servers controls do ASP+. Você também será introduzido ao ADO+, a nova versão do ADO da Microsoft. Veja o site da Web para horários e locais.

Conclusão

Como você pode ver, começar e rodar ASP.NET é fácil. Já existem alguns grandes recursos para aprender a tecnologia, e eu espero que você entre para o crescente ranking de contribuidores desta comunidade. No artigo do próximo mês, nós iremos dar uma olhada nas mudanças na administração de estados de seção no ASP.NET – a qual é totalmente diferente do ASP.

Fonte: http://www.microsoft.com/brasil/msdn/tecnologias/aspnet/aspnet_cincopassos.aspx





Padrão de escrita ou Legibilidade de código

11 10 2007

Como no artigo anterior acabei falando um pouco sobre padrão de escrita de variavel e objetos, gostaria de ir um pouco mais a fundo sobre isso.

O que é Padrão de escrita ou Legibilidade de código?

Padrão de escrita ou legibilidade de código é a facilidade de se escrever um código seguindo alguns padrões ou notações, para se ter um código mais claro e fácil de se interpretar.
Esta maneira de se escrever não é muito utilizada por programadores iniciantes, mas é de grande utilidade e importância.

Notação húngara

A Notação húngara, criada por Charles Simonyi, visa a facilitar o reconhecimento do tipo de variável em um programa. O nome foi dado a partir de uma brincadeira comum entre aqueles primeiros a conhecer a notação e a achavam estranha, fazendo o seguinte comentário: “É tão estranho que até parece húngaro”.

A tabela abaixo indica os tipos de indicadores mais utilizados na Notação húngara:

s – String
sz – Aponta o primeiro caracter da terminação zero da string
st – Ponteiro da string, o primeiro byte é contado dos caracteres
h – handle (título)
msg – Message
fn – function (usada com pointer)
c – char (8 bits)
by – unsigned char (byte or uchar – 8 bits)
n – Int
b – Boolean (verdadeiro ou falso)
f – Flag (boolean, logical). Se qualificado é usado, pode descrever o estado verdadeiro do flag. Exceção às constantes.
u – integer
w – Word
ch – Char, com texto ASCII
l – long int (32 bits)
dw – unsigned long int (dword – 32 bits)

Padrão próprio

É comum em algumas empresas utilizarem padrões próprios para escrita de nomes de objetos e variaveis.

Estive pesquisando um pouco sobre este assunto na internet e encontrei algumas idéias para se criar um padrão próprio.

Nomes em inglês

Utilização de Nomes de variaveis, objetos e funções ou qualquer texto que se posso utilizar na nomeação de um código em inglês.

Particularmente eu não utilizo o inglês por estar trabalhando no Brasil e assim achar o entendimento em português mais fácil, dessa maneira também não confundimos os nomes que criamos com comandos ou funções da linguagem, mas mesmo assim não deixa de ser interessante a escrita em inglês, principalmente em uma empresa que atua também no exterior.

Tabulação

Na minha opnião, extremamente importante para o entendimento do código. A tabulação ajuda a “encaixar” a programação de forma que você consegue visualizar o que esta dentro do que, por exemplo uma instrução IF que possui um certo código na sua condição e um outro IF com outras instruções dentro, como você separaria tudo isso, se não utilizasse tabulação? O seu código sem tabulação ficaria uma “linguiça”, como diria um professor meu.

Criando um padrão

Vamos agora então criar um padrão para a escrita do seu código. Geralmente eu utilizo as 3 primeiras letras do tipo de objeto/variavel, como a seguir:

str: String
int: Integer
dbl: Double
lbl: Label
txt: Texto

e assim por diante…

Logo depois do tipo eu coloco o nome, ai então podemos utilizar duas maneiras: Com separação de palavras ou sem separação de palavras.

Com separação de palavras

Geramente é utilizado para separar palavras o caracter underline “_”, por exemplo: lblNome_Empresa.

Sem separação de palavras

Acredito que este tipo de escrita é o mais utilizado hoje, é feita da seguinte forma:

Ex: lblNomeEmpresa.

Bom desenvolvimento a todos!





Foamatação de data

11 10 2007

Para formatar uma data no formato “quinta-feira, 11 de outubro de 2007” vamos utilizar as seguintes funções:

Esta função vai pegar mês passado no parametro e retorna a sua escrita.

Function mes_extenso(ByVal mes As Integer) As String
Dim strMes As String = “”
Select Case mes
Case 1
strMes = “janeiro”
Case 2
strMes = “fevereiro”
Case 3
strMes = “março”
Case 4
strMes = “abril”
Case 5
strMes = “maio”
Case 6
strMes = “junho”
Case 7
strMes = “julho”
Case 8
strMes = “agosto”
Case 9
strMes = “setembro”
Case 10
strMes = “outubro”
Case 11
strMes = “novembro”
Case 12
strMes = “dezembro”
End Select
Return strMes
End Function

Esta função pega o dia da semana passado no parametro e retorna a sua escrita.

Function dia_extenso(ByVal dia As Integer) As String
Dim strDia As String = “”
Select Case dia
Case 1
strDia = “domingo”
Case 2
strDia = “segunda-feira”
Case 3
strDia = “terça-feira”
Case 4
strDia = “quarta-feira”
Case 5
strDia = “quinta-feira”
Case 6
strDia = “sexta-feira”
Case 7
strDia = “sábado”
End Select
Return strDia
End Function


Acrescente um campo Label na sua página e altera o seu nome para lblData. Para um melhor entendimentos dos nomes de objetos ou váriaveis é recomendado você utilizar um padrão de escrita, pessoalmente eu prefiro a seguinte forma:

tipo de objeto + Nome
Ex: lblData, txtDescricao, etc.

No caso de nomes de váriaveis eu utilizo o seguinte:

tipo de variavel + Nome
Ex: intNumeroPedido, strTexto, etc.


Agora que já tratamos do Label, no Page_Load da sua página faça o seguinte:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
lblData.Text = dia_extenso(Weekday(Now())) & “, ” & Day(Now()) & ” de ” & mes_extenso(Month(Now())) & ” de ” & Year(Now())
End If
End Sub


Explicando o código…

– Primeiro utilizamos a function dia_extenso() para retornar o segunda-feira por exemplo;
– Depois utilizamos a função nativa do ASP Weekday() para retornar na função dia_extenso() o dia da semana;
– Depois disso concatenamos tudo isso com o dia, o retorno da função mes_extenso() e o ano;

Com isso o resultado para a data 11/10/2007 será quinta-feira, 11 de outubro de 2007.





Consumindo RSS no ASP.Net

10 10 2007

O RSS nada mais é do que um formato padronizado de XML utilizado para disponibilizar informações específicas na internet.

Um RSS Feed é um documento XML disponibilizado e atualizado regularmente por algum site, oferecendo conteúdo dinâmico que pode ser consumido por aplicações cliente.

Este documento oferece metadados sobre uma fonte de conteúdo (notícias, artigos, eventos, posts em blogs etc). O site msdn.com é um bom exemplo, disponibilizando uma série de feeds para serem consumidos: http://msdn.microsoft.com/aboutmsdn/rss/.

Um RSS Feed (documento XML) é formado por um channel, que é a fonte do conteúdo, e contém um title e description, que descrevem a fonte do conteúdo. Além disso, contém um ou mais elementos item, representando cada item do conteúdo (cada notícia, por exemplo). Cada item, por sua vez, pode ter um title, link e description.

(Dica: Leia mais sobre o que é o RSS neste link: http://www.xml.com/pub/a/2002/12/18/dive-into-xml.html)

Vamos agora colocar a mão na massa e criar uma aplicação ASP.NET que irá ler um RSS Feed disponibilizado na internet.

1) Criando o projeto

Crie um novo Projeto no VS.NET (File > New > Project). Escolha “Visual Basic Projects”, template “ASP.NET Web Application” (figura 1). Informe um nome para o projeto (neste caso, utilizei Rss).

2) Criando e configurando o DataGrid

Abra o webform gerado automaticamente (WebForm1.aspx). No modo Designer, abra a ToolBox (Ctrl+Alt+X) e arraste o objeto DataGrid. Nomeie o DataGrid como grd_aspnet. Defina a propriedade AutoGenerateColumns como False, e aplique o tipo de fonte que desejar.

Configure então as colunas do grid (clique com botão direito no grid > Property Builder).

No lado esquerdo da janela “Properties” do grid, clique na seção “Columns”.

Na lista “Available Columns”, selecione a “Hyperlink Column”, e clique no botão para adicionar (“>”), para que a coluna seja adiciona ao grid, aparecendo assim na lista “Selected columns”, à direita. Configure então as seguintes propriedades da coluna:

Header text: Title (ou um título qualquer para a coluna)
Text field: title (esse é o nó xml que contém o título do artigo/notícia)
URL field: link (este é o nó xml que contém o link para o artigo/notícia)
Target: _blank (forçará o link a abrir em uma nova janela).

As configurações devem ficar como na figura 2:

3) Acessando o RSS

Terminada a montagem do layout, iremos agora codificar o acesso ao XML desejado (disponibilizado na internet) e carrega-lo em um DataSet, para assim podermos preencher o DataGrid.

No nosso exemplo, utilizaremos o RSS para listar artigos e “headlines” sobre ASP.NET, disponibilizado direto na fonte, pelo MSDN.com. O link para o RSS é http://msdn.microsoft.com/asp.net/rss.xml.

(Obs.: Obviamente você poderá utilizar qualquer RSS Feed disponibilizado na internet).
Ainda no arquivo WebForm1.aspx, vá para o código (F7).

Defina o seguinte código no método Page_Load:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
If Not Page.IsPostBack Then
Try
‘– Carrega o XML diretamente no DataSet
Dim ds as DataSet = New DataSet
ds.ReadXml(“http://msdn.microsoft.com/asp.net/rss.xml&#8221;)
Me.grd_aspnet.DataSource = ds.Tables(2).DefaultView
Me.grd_aspnet.DataBind()
Catch ex As Exception
Response.Write(“Erro: ” & ex.Message)
End Try
End If
End Sub

Note que o método ReadXml() do DataSet irá gerar um Schema com 3 DataTables (conforme a estrutura do XML): RSS, Channnel e Item. Como precisamos carregar a tabela Item, que é a que contém a listagem dos dados, é utilizado o índice 2 no range de Tabelas ao definir o DataSource do grid.

No Solution Explorer, clique com o botão direito no arquivo WebForm1.aspx e depois em “View in Browser”.

Fonte: http://www.linhadecodigo.com.br/Artigo.aspx?id=656&pag=2