Este artigo tem nota
10

Conheça o Autor

renanrosa
Renan
Rosa

membro deste setembro de 2007.

Palavras-Chave

ASP.NET
Compartilhe e guarde
  • Rec6
  • StumbleUpon
  • ueba
  • linkk
  • dihitt
  • linkloko
  • linkto
  • Technorati
  • Simpy
  • del.icio.us
  • Faves: Fave It!
ASP.NET

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

terça-feira, 29 de janeiro de 2008

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
paulobean
É só adicionar um ou mais repeaters dentro do template do seu repeater-pai, de acordo com a sua necessidade.
enviado por furmigah em 29/9/2008
10
Ajuda
Renan, e se eu tiver sub-itens do menu, como eu faço? Aguardo um retorno.
enviado por paulobean em 20/8/2008
Regras:
Os comentários seguem as seguintes regras:
  • Todos os comentários são enviados por membros cadastrados no site.
  • 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.
  • Qualquer comentário após ter sido publicado poderá ser retirado através da opção ( denunciar abuso)

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
Equipe | Tabela de Pontos e Estrelas | Política de Privacidade | Mapa do Site | Fale Conosco
© 2006-2009 R&W Informática Ltda. - Todos os direitos reservados.