Categorias

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

 
        
        
 

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

 
        
        
 

Adicione as linhas

">
<%# Eval("Titulo") %>

Então ficará assim


        
">
<%# Eval("Titulo") %>

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.

">
<%# Eval("Titulo") %>
entre e .

Qualquer dúvida me mande um e-mail que eu envio um código fonte.