PUBLICIDADE
Este artigo tem nota
10

Autor

renanrosa

Renan Rosa

membro deste setembro de 2007

Tags

Compartilhe e guarde

  • Rec6
  • StumbleUpon
  • ueba
  • linkk
  • dihitt
  • linkloko
  • linkto
  • Technorati
  • Simpy
  • del.icio.us
  • Faves: Fave It!

PUBLICIDADE

Enquete

O mercado de publicidade na web chegou no seu limite?
terça-feira, 29 de janeiro de 2008

Criando um menu e lendo título e link de uma tabela


Olá Pessoal, há muito tempo eu estava procurando um jeito de fazer isso sem ser pelo código em loop e gerando tabelas, queria colocar um DataGrid, GridView ou algo do tipo, e então consegui fazer um usando o Repeater (que também é quase como um Grid, só não tem os títulos se você não colocar).

Abrindo o Visual Studio, add um Repeater (da aba Data) ou entre com o código no design da página

 <asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
</ItemTemplate>
</asp:Repeater>


Agora vamos criar uma conexão com o Mysql:

No banco Temos uma tabela com o Nome de MENU, com os campos
código (autonumeraçao) título e link

Clique duas vezes no design da pagina: na aba solution explorer clique com o lado direito e vá em ADD REFERENCE

Aberta a janela de add reference, selecione Mysql.Data e clique em OK.

Lá parte de declação USING add a linha usando MySql.Data.MySqlClient;.

No Page Load add o código

//-------------------------------------------------------------------------------------------
string con = "server=localhost; user=seu usuario; password=seu password; database=seu banco com a tabela menu";

//Criando a Conexao
MySqlConnection conexao = new MySqlConnection(con);
//string para conectar a tabela menu
string sel = "select * from MENU";
//Criando o Adaptador da Tabela menu
MySqlDataAdapter da = new MySqlDataAdapter(sel, conexao);
//Criando o Data set Para ser o DataSource do Repeater
DataSet ds = new DataSet();
//Criando o Comando de Selecionar na Tabela
MySqlCommand cmd = new MySqlCommand(sel, conexao);

conexao.Open();

//Passando os Valores da Tabela para o Dataset
da.Fill(ds);

//Adicionando um DataSource ao Repeater
Repeater1.DataSource = ds;
//Lendo as Informaçoes da Tabela
Repeater1.DataBind();

//-------------------------------------------------------------------------------------------


Voltando ao código de layout da página onde esta o código

 <asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
</ItemTemplate>
</asp:Repeater>


Adicione as linhas

<a href="<%# Eval("Link") %>">
<%# Eval("Titulo") %></a><br />


Então ficará assim

<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<a href="<%# Eval("Link") %>">
<%# Eval("Titulo") %></a><br />
</ItemTemplate>
</asp:Repeater>


Agora é Rodar que você vai ter um Menu onde será pego os links e títulos da tabela.

Quando eu estava criando um gerenciador de conteúdo de site em C#.NET (Gerenciador de Conteúdo = CMS, um exemplo de CMS é o Jonnla criado em PHP)

Caso você esteja usando um banco SqlServer, fica mais fácil, em vez de criar o código Mysql no PAge load da página, adicione um DataSOurce que está na aba Data e configure ele para ler sua tabela menu em seu banco SqlServer.

Em propriedade datasourceID do Repeater selecione o DataSource que você criou
(clique no Repeater e abra a janela do lado direito Propriets e em DataSourceID selecione o Datasource que você criou) e no código da página do Repeater, Add as linhas.

<a href="<%# Eval("Link") %>">
<%# Eval("Titulo") %></a><br />
entre <ItemTemplate> e </ItemTemplate>.


Qualquer dúvida me mande um e-mail que eu envio um código fonte.
Sim   Não   Este artigo foi útil para você?
NotaComentário
10
renanrosa comentou em 31/10/2009

USERTOP

Valeu pelo comentário/retorno e pelos elogios, são grandes incentivos.
Abraços
10
usertop comentou em 31/10/2009

Show

Adorei o tutorial sem lenga lenga muito bom esperamos por mais com exelente conteúdo
10
usertop comentou em 31/10/2009

Muito util

Muito bom um codigo bem util para ser uzado
10
renanrosa comentou em 22/10/2009

valeu

e valeu pelos comentarios
10
renanrosa comentou em 22/10/2009

POstar Mais

eu to tentando mas os moderadores devem estar com dó dos pontos pra trocar depois e não estão publicando meus tutoriais e codigos, até video aula
10
geyzon comentou em 16/10/2009

geyzon

Legal vai ser util o codigo
10
furmigah comentou em 29/9/2008

paulobean

É só adicionar um ou mais repeaters dentro do template do seu repeater-pai, de acordo com a sua necessidade.
10
paulobean comentou em 20/8/2008

Ajuda

Renan, e se eu tiver sub-itens do menu, como eu faço? Aguardo um retorno.
Regras:
Os comentários seguem as seguintes regras:
  • Todos os comentários são enviados por membros cadastrados no site.
  • A pontuação de comentários de conteúdo do próprio membro não serão computados.
  • Os comentários serão pré-aprovados, porém a equipe do site revisará o conteúdo de todos os comentários podendo ser invalidados (inclusive a pontuação).
  • Os comentários precisam ter, obrigatóriamente, coerência sobre o conteúdo que será comentado.
  • O membro que atingir 5 comentários invalidados não poderá mais comentar dentro do site. Com isso o membro não poderá mais ganhar pontos com comentários.
  • Há um limite de 10 comentários por dia para cada membro.
  • Qualquer comentário após ter sido publicado poderá ser retirado através da opção ( denunciar)

Comente

     (ainda não tem cadastro? clique aqui!)


Máximo de 30 caracteres

Máximo de 255 caracteres
 

R&W Consulting - Soluções Web Hospedagem UOL HOST PagSeguro - solução para pagamentos online
© 2006-2009 R&W Informática Ltda. - Todos os direitos reservados.