ASP.NET 2.0 - Criando um Blog VII
Como anda o nosso Blog ? Meio atrasado mas vai bem (pensaram que eu não ia terminar o blog ?) , obrigado. Se você chegou agora veja os artigos anteriores já publicados:
Nesse artigo vou apresentar gerar as estatísticas do blog, que são muito simples. Ao trabalho...
Ao abrir a página do Blog o usuário irá visualizar no canto esquerdo inferior um módulo contendo as estatísticas do site exibindo a quantidade de mensagens e de comentários postados no blog.
A exibição das estatísticas é feita usando um controle Web User Control chamado estatisticas.ascx.
Um web user control ASP.NET é parecido com uma página Web completa (*.aspx) contendo a interface do usuário e código, e, você cria um user control da mesma forma que você cria uma página web em ASP.NET.
Você pode criar web user controls reutilizando controles que já existem e isso torna a tarefa muito mais fácil do que criar controles personalizados ou Custom Controls.
Um web user control difere de uma página ASP.NET nos seguintes itens:
A extensão do arquivo de um user control é .ascx;
Ao invés de usar a diretiva @page, um user control contém uma diretiva @Control que define a configuração e outras propriedades;
Um user control não pode ser executado diretamente você precisa incluí-lo em uma página ASP.NET como um controle comum;
Um user control não possui os elementos html, body ou form no seu interior. Você pode usar os demais elementos HTML livremente.
Nota: Para saber mais leia o meu artigo : ASP.NET - Web User Controls
O controle estatisticas.ascx é bem mais simples pois conterá apenas uma tabela e alguns controles Label.
- No menu WebSite selecione Add New Item e na janela Templates escolha Web User Control, informando o nome Estatisticas.ascx e marcando a opção Place code in separate file;
A partir do menu Layout selecione Insert Table e define uma tabela com duas linhas e duas colunas. Inclua em cada célula da tabela um controle Label definindo conforme a figura abaixo:
Agora vamos incluir o código no arquivo code-behind Estatisticas.ascx.vb que irá obter a quantidade de mensagens da tabela mensagens e a quantidade de comentários da tabela comentarios;
Imports DAL Partial Class Estatisticas Inherits System.Web.UI.UserControl Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not IsPostBack Then Try Dim o As New AcessoBD Dim i As Integer = o.ExecuteScalar("select count(*) from mensagens") Dim j As Integer = o.ExecuteScalar("select count(*) from comentarios") Label1.Text = i.ToString Label2.Text = j.ToString Catch ex As Exception Label1.Text = ex.Message.ToString End Try End If End Sub End Class |
No código acima estou criando uma instância da classe AccessoBD e usando o método ExecuteScalar() passando a instrução SQL que irá retornar a quantidade de mensagens e comentários.
Se você espiar o código do método na classe AcessoBD irá notar que o método retorna um valor inteiro;
Public Function ExecuteScalar(ByVal sql As String) As Integer Dim cnn As SqlConnection = New SqlConnection(strConn) Dim cmd As SqlCommand = New SqlCommand(sql, cnn) cnn.Open() Dim retval As Integer = cmd.ExecuteScalar() cnn.Close() Return retval End Function |
Tudo bem , mas como as tabelas mensagens e comentarios são atualizadas ?
Boa pergunta , garoto !!!
Ora , a tabela de mensagens é atualizada quando uma mensagem é inserida no blog pelo administrador. Irei mostrar como isso ocorre no próximo artigo.
A tabela comentarios é atualizada quando um comentário é postado no blog. Abrindo o formulário exibeMensagens.aspx na parte inferior iremos visualizar a área onde o usuário posta o comentário e clica no botão Enviar;
O código do evento Click do botão enviar é o seguinte:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click SqlDataSource3.Insert() DataList2.DataBind() End Sub |
Note que estamos usando o método Insert() do controle SQLDataSource().
Vamos espiar como este método foi implementado selecionando o controle e clicando em Configure DataSource;
A seguir clique em Next> , Next> novamente, e, selecionando a aba INSERT iremos ver o código que usa uma instrução SQL INSERT INTO para atualizar a tabela de comentários;
Agora sim, encerrei a primeira parte onde mostrei como implementar todas as funcionalidades do nosso blog.
No próximo artigo iniciarei a parte de administração do blog onde é feito o cadastramento das categorias , mensagens e Links.
Veja a continuação em : Criando um Blog VIII (ainda inativo)
As vídeo aulas completas do blog estão no super Super DVD Vídeo Aulas. (Você também pode adquirir somente as vídeo aulas do blog aqui)
Até o próximo artigo ASP .NET
José Carlos Macoratti