Bootstrap Dropdown not Working with ASP.NET

10,949

You need to add jQuery before bootstrap.js.

<script src="Scripts/jquery-2.1.1.js"></script>
<script src="Scripts/bootstrap.js"></script>
<script src="Scripts/bootstrap.min.js"></script>

FYI: Do not add jquery-2.1.1.intellisense.js to the master page; instead, use _references.js

Share:
10,949
user2998990
Author by

user2998990

Updated on June 05, 2022

Comments

  • user2998990
    user2998990 almost 2 years

    Master page of my asp.net. I have added what is necessary for creating a submenu dropdown for my menu. Somehow it is not working.

    <%@ Import Namespace="System.Web.Optimization" %>
    <!DOCTYPE html>
    <html lang="en">
    <head id="Head1" runat="server">
        <title>Navbar Template for Bootstrap</title>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="description" content="Sample page to include Bootstrap and Web API to Asp.Net forms application.">
        <meta name="author" content="Sree">
        <link href="Content/bootstrap-theme.css" rel="stylesheet" />
        <link href="Content/bootstrap-theme.min.css" rel="stylesheet" />
        <link href="Content/bootstrap.css" rel="stylesheet" />
        <link href="Content/bootstrap.min.css" rel="stylesheet" />
        <script src="Scripts/bootstrap.js"></script>
        <script src="Scripts/bootstrap.min.js"></script>
        <script src="Scripts/jquery-2.1.1.intellisense.js"></script>
        <script src="Scripts/jquery-2.1.1.js"></script>
    
    
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
        <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
        <link rel="stylesheet" type="text/css" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
    
    
    
        <asp:ContentPlaceHolder ID="StyleSection" runat="server" />
    
    
        <script>
            $(document).ready(function () {
                $('.dropdown-toggle').dropdown();
            });
        </script>
    </head>
    <body>
        <%--<form id="form1" runat="server">--%>
        <div class="container">
            <!-- Static navbar -->
            <div class="navbar navbar-default" role="navigation">
                <div class="container-fluid">
                    <div class="navbar-header">
                        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
                            <span class="sr-only">Toggle navigation</span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                        </button>
                        <a class="navbar-brand" href="#">Project name</a>
                    </div>
                    <div class="navbar-collapse collapse">
                        <ul class="nav navbar-nav">
                            <li class="active"><a href="#">Link</a></li>
                            <li><a href="#">Link</a></li>
                            <li><a href="ContentPage.aspx">Link</a></li>
                            <li class="dropdown">
                                <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
                                <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu">
                                    <li><a href="#">Action</a></li>
                                    <li><a href="#">Another action</a></li>
                                    <li><a href="#">Something else here</a></li>
                                    <li class="divider"></li>
                                    <li class="dropdown-submenu">Nav header</li>
                                    <li><a href="#">Separated link</a></li>
                                    <li><a href="#">One more separated link</a></li>
                                </ul>
                            </li>
                        </ul>
                        <ul class="nav navbar-nav navbar-right">
                            <li class="active"><a href="./">Default</a></li>
                            <li><a href="../navbar-static-top/">Static top</a></li>
                            <li><a href="../navbar-fixed-top/">Fixed top</a></li>
                        </ul>
                    </div>
                    <!--/.nav-collapse -->
                </div>
                <!--/.container-fluid -->
            </div>
            <!-- Content Page Section -->
            <div class="container">
                <asp:ContentPlaceHolder ID="ContentSection" runat="server">
                </asp:ContentPlaceHolder>
            </div>
        </div>
        <!-- /container -->
        <%-- Script Section --%>
        <%: Scripts.Render("~/bundles/jQuery")  %>
        <asp:ContentPlaceHolder ID="ScriptSection" runat="server" />
        <%--</form>--%>
    </body>
    </html>
    

    The following is my child page. When I refer all the css and jquery and exclude them from master page it works. If I remove the web references then it doesn't work. Please help - how can I do it by using local references?

    <%@ Page Title="" Language="C#" MasterPageFile="~/Main.Master" AutoEventWireup="true" CodeBehind="ContentPage.aspx.cs" Inherits="Sample.ContentPage" %>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="StyleSection" runat="server">
    
        <link href="Content/bootstrap-theme.css" rel="stylesheet" />
        <link href="Content/bootstrap-theme.min.css" rel="stylesheet" />
        <link href="Content/bootstrap.css" rel="stylesheet" />
        <link href="Content/bootstrap.min.css" rel="stylesheet" />
        <script src="Scripts/bootstrap.js"></script>
        <script src="Scripts/bootstrap.min.js"></script>
        <script src="Scripts/jquery-2.1.1.intellisense.js"></script>
        <script src="Scripts/jquery-2.1.1.js"></script>
    
    
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
        <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
        <link rel="stylesheet" type="text/css" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentSection" runat="server">
        <!-- Main component for a primary marketing message or call to action -->
        <div class="jumbotron">
            <h1>Navbar example</h1>
            <p>
                This example is a quick exercise to illustrate how the default, static navbar and
                fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts
                to your viewport and device.
            </p>
            <p>
                <a class="btn btn-lg btn-primary" href="#" role="button">View navbar docs &raquo;</a>
            </p>
        </div>
    </asp:Content>
    <asp:Content ID="Content3" ContentPlaceHolderID="ScriptSection" runat="server">
    </asp:Content>