ASP 
.NET MVC 5 - Criando um menu com opções usando Bootstrap Dropdown
    
    
    ![]()  | 
    Neste artigo vamos criar um menu bem simples em uma aplicação ASP .NET MVC 5 usando os recursos do Bootstrap. | 
				
				![]()  | 
  
Você já precisou criar um simples menu em uma aplicação ASP .NET MVC 5 e saiu googando atrás de menus feitos via JavaScript, jQuery, etc. ?
Neste artigo veremos como criar, de forma bem simples, um menu com diversas opções em uma aplicação ASP .NET MVC 5 usando os recursos do Bootstrap Dropdowns.
Vamos realizar as seguintes tarefas:
Criar um projeto MVC 5 usando o template padrão
Ajustar o código da View Index.cshtml
Definir o menu no arquivo _Layout.cshtml com recursos do Bootstrap dropdown.
Os principais componentes do bootstrap dropdown são:
| Classe | Descrição | 
| .dropdown | Indica um menu suspenso | 
| .dropdown-menu | Constrói o menu suspenso | 
| .dropdown-menu-right | Alinha à direita um menu suspenso | 
| .dropdown-header | Adiciona um cabeçalho no menu suspenso | 
| .dropup | Indica um menu dropup | 
| .disabled | Desativa um item no menu suspenso | 
| .divider | Separa itens dentro do menu suspenso com uma linha horizontal | 
Além disso podemos usar os recursos dos Collapsibles para ocultar ou exibir conteúdo.
| Classe | Descrição | 
| .collapse | Indica um conteúdo flexível que pode ser oculto ou exibido sob demanda. | 
| .collapse .in | Exibe o conteúdo flexível por padrão | 
| .panel-collapse | Painel dobrável (alterna entre ocultar e mostrar o(s) painel(s)) | 
Recursos Usados:
Criando o projeto ASP .NET MVC 5
Abra o VS 2017 Community e crie um projeto usando o template Web-> ASP .NET Web Application(.NET Framework) e informe o nome Mvc_Menu;

A seguir marque o template MVC sem autenticação e clique em OK;

Será criado um projeto com toda a estrutura pronta para ser usada.
Ajustando o código da view Index
Vamos ajustar o código da view Index.cshtml que esta na pasta Views/Home removendo todo o código gerado e incluindo apenas o código abaixo
		 <div class="jumbotron">
    <h1>Controle Financeiro</h1>
    <p class="lead">Macoratti .net</p>
    <p><a href="http://www.macoratti.net" class="btn btn-primary btn-lg">Aprenda mais</a></p>
</div>
		 | 
	
Após isso executando a aplicação iremos obter o seguinte resultado:

Nosso objetivo será exibir na barra de navegação um menu de opções.
Para fazer isso vamos nos ater agora somente ao arquivo _Layout.cshtml que esta na pasta /Views/Shared.
Vamos definir o código do menu no local destacado na figura abaixo, substituindo os links do menu atual pelos do nosso menu:

Vamos iniciar incluindo os links para o menu:
		 ...
		<div class="navbar navbar-inverse navbar-fixed-top">
        <div class="container">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                @Html.ActionLink("Controle Finaneiro", "Index", "Home", new { area = "" }, 
new { @class = "navbar-brand" })
            </div>
            <div class="navbar-collapse collapse">
                <ul class="nav navbar-nav">
                    <li><a href="#">Cadastros</a></li>
                    <li><a href="#">Movimento</a></li>
                    <li><a href="#">Relatórios</a></li>
                    <li><a href="#">Gráficos</a></li>
                </ul>
                <ul class="nav navbar-nav navbar-right">
                    <li>@Html.ActionLink("Sobre", "Sobre", "Home")</li>
                </ul>
            </div>
        </div>
    </div>
...
		 | 
	
O código em azul mostra as linhas que foram incluídas. O resultado pode ser visto abaixo:
![]()  | 
	
Vamos continuar inserindo o simbolo < v > em cada item de menu usando o código : <span class="caret"></span>
		    <div class="navbar-collapse collapse">
        <ul class="nav navbar-nav">
           <li><a href="#">Cadastros<span class="caret"></span></a></li>
           <li><a href="#">Movimento<span class="caret"></span></a></li>
           <li><a href="#">Relatórios<span class="caret"></span></a></li>
           <li><a href="#">Gráficos<span class="caret"></span></a></li>
        </ul>
        <ul class="nav navbar-nav navbar-right">
                    <li>@Html.ActionLink("Sobre", "Sobre", "Home")</li>
        </ul>
    </div>
		 | 
		|
| 
		 
		  | 
		
A seguir vamos usar a classe dropdown-toogle e dropdown para criar as opções no menu.
Vamos incluir o trecho de código : class="dropdown-toggle" data-toggle="dropdown" para ativar o menu dropdown
A seguir vamos definir as opções do menu Cadastros incluindo o código :
                        
<ul class="dropdown-menu">
                            
<li>@Html.ActionLink("Clientes", "Cliente", "Cadastro")</li>
                            
<li>@Html.ActionLink("Fornecedores", "Fornecedor", "Cadastro")</li>
                            
<li>@Html.ActionLink("Países", "Pais", "Cadastro")</li>
                            
<li>@Html.ActionLink("Estados", "Estado", "Cadastro")</li>
                            
<li>@Html.ActionLink("Cidades", "Cidade", "Cadastro")</li>
                        
</ul>
conforme abaixo:
		  <div class="navbar-collapse collapse">
        <ul class="nav navbar-nav">
            <li>
                 <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                   Cadastros <span class="caret"></span></a>
                  <ul class="dropdown-menu">
                            <li>@Html.ActionLink("Clientes", "Cliente", "Cadastro")</li>
                            <li>@Html.ActionLink("Fornecedores", "Fornecedor", "Cadastro")</li>
                            <li>@Html.ActionLink("Países", "Pais", "Cadastro")</li>
                            <li>@Html.ActionLink("Estados", "Estado", "Cadastro")</li>
                            <li>@Html.ActionLink("Cidades", "Cidade", "Cadastro")</li>
                        </ul>
            </li>
            <li><a href="#">Movimento<span class="caret"></span></a></li>
            <li><a href="#">Relatórios<span class="caret"></span></a></li>
            <li><a href="#">Gráficos<span class="caret"></span></a></li>
          </ul>
          <ul class="nav navbar-nav navbar-right">
               <li>@Html.ActionLink("Sobre", "Sobre", "Home")</li>
          </ul>
   </div>
		 | 
		|
| 
		 
		  | 
		
Vamos incluir mais opções no menu Cadastros e usar a classe nav-divider para criar uma linha de separação o menu:
		  <div class="navbar-collapse collapse">
        <ul class="nav navbar-nav">
            <li>
                 <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                   Cadastros <span class="caret"></span></a>
                  <ul class="dropdown-menu">
                          <li>@Html.ActionLink("Plano de Contas", "PlanoConta", "Cadastro")</li>
                          <li>@Html.ActionLink("Clientes", "Cliente", "Cadastro")</li>
                          <li>@Html.ActionLink("Fornecedores", "Produto", "Cadastro")</li>
                          <li>@Html.ActionLink("Entrada", "Entrada", "Cadastro")</li>
                          <li>@Html.ActionLink("Saída", "Saida", "Cadastro")</li>
                          <li>@Html.ActionLink("Centro de Custos", "Custos", "Cadastro")</li>
                          <li class="nav-divider"></li>
                          <li>@Html.ActionLink("Países", "Produto", "Cadastro")</li>
                          <li>@Html.ActionLink("Estados", "Produto", "Cadastro")</li>
                          <li>@Html.ActionLink("Cidades", "Produto", "Cadastro")</li>
                          <li class="nav-divider"></li>
                          <li>@Html.ActionLink("Perfis de Usuário", "Produto", "Cadastro")</li>
                          <li>@Html.ActionLink("Usuários", "Produto", "Cadastro")</li>
                   </ul>
            </li>
            <li><a href="#">Movimento<span class="caret"></span></a></li>
            <li><a href="#">Relatórios<span class="caret"></span></a></li>
            <li><a href="#">Gráficos<span class="caret"></span></a></li>
          </ul>
          <ul class="nav navbar-nav navbar-right">
               <li>@Html.ActionLink("Sobre", "Sobre", "Home")</li>
          </ul>
   </div>
		 | 
		|
| 
		 
		  | 
		
Agora basta repetir o código com as opções para os demais menus:
		 <div class="navbar-collapse collapse">
                <ul class="nav navbar-nav">
                    <li>
                      <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                          Cadastros
                          <span class="caret"></span>
                      </a>
                      <ul class="dropdown-menu">
                          <li>@Html.ActionLink("Plano de Contas", "PlanoConta", "Cadastro")</li>
                          <li>@Html.ActionLink("Clientes", "Cliente", "Cadastro")</li>
                          <li>@Html.ActionLink("Fornecedores", "Produto", "Cadastro")</li>
                          <li>@Html.ActionLink("Entrada", "Entrada", "Cadastro")</li>
                          <li>@Html.ActionLink("Saída", "Saida", "Cadastro")</li>
                          <li>@Html.ActionLink("Centro de Custos", "Custos", "Cadastro")</li>
                          <li class="nav-divider"></li>
                          <li>@Html.ActionLink("Países", "Produto", "Cadastro")</li>
                          <li>@Html.ActionLink("Estados", "Produto", "Cadastro")</li>
                          <li>@Html.ActionLink("Cidades", "Produto", "Cadastro")</li>
                          <li class="nav-divider"></li>
                          <li>@Html.ActionLink("Perfis de Usuário", "Produto", "Cadastro")</li>
                          <li>@Html.ActionLink("Usuários", "Produto", "Cadastro")</li>
                      </ul>
                    </li>
                    <li>
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Movimento  <span class="caret">
</span> </a>
                        <ul class="dropdown-menu">
                            <li>@Html.ActionLink("Contas a Pagar", "Entrada", "Movimento")</li>
                            <li>@Html.ActionLink("Contas a Receber", "Entrada", "Movimento")</li>
                            <li>@Html.ActionLink("Controle de Saldo", "Entrada", "Movimento")</li>
                            <li>@Html.ActionLink("Inventário", "Entrada", "Movimento")</li>
                        </ul>
                    </li>
                    <li>
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Relatórios <span class="caret">
</span> </a>
                        <ul class="dropdown-menu">
                            <li>@Html.ActionLink("Fluxo de Caixa", "Sobre", "Grafico")</li>
                            <li>@Html.ActionLink("Relatório das Contas a Pagar", "Sobre", "Grafico")</li>
                            <li>@Html.ActionLink("Relatório das Contas a Receber", "Sobre", "Grafico")</li>
                        </ul>
                    </li>
                    <li>
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Gráficos   <span class="caret">
</span> </a>
                        <ul class="dropdown-menu">
                            <li>@Html.ActionLink("Gráfico de saída", "Sobre", "Grafico")</li>
                            <li>@Html.ActionLink("Gráfico de entradas", "Sobre", "Grafico")</li>
                            <li>@Html.ActionLink("Entrada vs Saídas", "Sobre", "Grafico")</li>
                            <li>@Html.ActionLink("Saldo Mensal por Conta", "Sobre", "Grafico")</li>
                        </ul>
                    </li>
                </ul>
                <ul class="nav navbar-nav navbar-right">
                    <li>@Html.ActionLink("Sobre", "Sobre", "Home")</li>
                </ul>
            </div>
		 | 
	
Agora temos um menu com 4 opções e cada menu possui suas opções definidas usando os recursos do Bootstrap:

Segue o 
código do arquivo _Layout.cshtml usado no projeto:  
Layout.zip
(Disse Jesus) Não vos deixarei órfãos; voltarei para vós. João 14:18
| 
    
    Veja os 
    Destaques e novidades do SUPER DVD Visual Basic 
(sempre atualizado) : clique e confira ! 
 Quer migrar para o VB .NET ? 
 Quer aprender C# ?? 
 Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?  | 
  
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a 
Objetos com VB .NET
![]()
ASP .NET MVC 5 - Criando HTML Helpers customizados - Macoratti.net
ASP .NET MVC 5 -Tratando imagens com o Helper ... - Macoratti.net
ASP .NET MVC 5 - Catálogo de Clientes com Foto e ... - Macoratti.net
ASP .NET MVC 5 - Criando HTML Helpers customizados - Macoratti.net
ASP .NET - Exibindo imagens de um banco de dados - Macoratti.net
ASP .NET MVC 5 - Criando HTML Helpers customizados - Macoratti.net