【问题标题】:Asp.net menu with navbar style带有导航栏样式的 Asp.net 菜单
【发布时间】:2019-02-15 23:29:40
【问题描述】:

我想在 asp.menu 中使用引导菜单样式,但我所有的尝试都不起作用。

我要使用的菜单是

 <nav class="navbar fixed-top navbar-expand-lg navbar-dark bg-dark fixed-top">
  <div class="container">
    <a class="navbar-brand" href="Default.aspx">web name </a>
    <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarResponsive">
      <ul class="navbar-nav ml-auto">
        <li class="nav-item">
          <a class="nav-link" href="aboutus.aspx">aboutus</a>
        </li>

        <li class="nav-item">
          <a class="nav-link" href="contact.html">contact</a>
        </li>
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownPortfolio" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            Portfolio
          </a>
          <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownPortfolio">
            <a class="dropdown-item" href="portfolio-1-col.html">1 Column Portfolio</a>
            <a class="dropdown-item" href="portfolio-2-col.html">2 Column Portfolio</a>
            <a class="dropdown-item" href="portfolio-3-col.html">3 Column Portfolio</a>
            <a class="dropdown-item" href="portfolio-4-col.html">4 Column Portfolio</a>
            <a class="dropdown-item" href="portfolio-item.html">Single Portfolio Item</a>
          </div>
        </li>
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownBlog" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            Blog
          </a>
          <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownBlog">
            <a class="dropdown-item" href="blog-home-1.html">Blog Home 1</a>
            <a class="dropdown-item" href="blog-home-2.html">Blog Home 2</a>
            <a class="dropdown-item" href="blog-post.html">Blog Post</a>
          </div>
        </li>
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownBlog5" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            Other Pages
          </a>
          <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownBlog">
            <a class="dropdown-item" href="full-width.html">Full Width Page</a>
            <a class="dropdown-item" href="sidebar.html">Sidebar Page</a>
            <a class="dropdown-item" href="faq.html">FAQ</a>
            <a class="dropdown-item" href="404.html">404</a>
            <a class="dropdown-item" href="pricing.html">Pricing Table</a>
          </div>
        </li>
      </ul>
    </div>
  </div>
</nav>

以上菜单正常,可以正常使用Example

我想使用的asp菜单是

 <asp:Menu ID="Menu2" runat="server" Orientation="Horizontal" RenderingMode="List" DataSourceID="SiteMapDataSource2">
         </asp:Menu>

我必须尝试在我的 asp.net 菜单中使用引导程序,如下代码: 在侧 div &lt;div class="collapse navbar-collapse" id="navbarResponsive"&gt;

 <asp:Menu ID="Menu51" 
    runat="server" 
    Orientation="Horizontal" 
    StaticDisplayLevels="1"
    StaticEnableDefaultPopOutImage="False"
   DataSourceID="SiteMapDataSource2"
    MaximumDynamicDisplayLevels="10" 
    EnableViewState="false"


    StaticMenuStyle-CssClass="navbar-nav ml-auto" 
    StaticMenuItemStyle-CssClass="nav-link"
    StaticSelectedStyle-CssClass="active"

    DynamicMenuStyle-CssClass="dropdown-menu dropdown-menu-right show" 
    DynamicMenuItemStyle-CssClass="dropdown-item"


    IncludeStyleBlock="false" 
    SkipLinkText=""
    RenderingMode="List">


</asp:Menu>

现在的问题是当我运行我的网页时菜单没有采用所有样式,你可以检查一下,你会发现 li 标签没有采用类名,所以云任何人都可以帮助我吗???

【问题讨论】:

    标签: css asp.net menu


    【解决方案1】:

    一个来自其他网站的人给了我一个聪明的解决方案,他使用 asp:Repeater 而不是 asp:Menu,所以我在中继器中调用站点地图,它工作正常,

    <nav class="navbar fixed-top navbar-expand-lg navbar-dark bg-dark fixed-top">
      <div class="container">
        <a class="navbar-brand" href="Default.aspx">web name </a>
        <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarResponsive">
          <ul class="navbar-nav ml-auto">
                                <asp:Repeater runat="server" ID="menu1" DataSourceID="SiteMapDataSource2">
                                    <ItemTemplate>
                                        <li class='<%# ((SiteMapNode) Container.DataItem).ChildNodes.Count == 0 ? "nav-item" : "nav-item dropdown" %>'>
                                            <asp:HyperLink CssClass="nav-link" runat="server" Visible='<%# ((SiteMapNode) Container.DataItem).ChildNodes.Count == 0 ? true : false %>' NavigateUrl='<%# Eval("Url") %>'><%# Eval("Title") %></asp:HyperLink>
                                            <asp:HyperLink CssClass="nav-link dropdown-toggle" ID="navbarDropdownPortfolio" Visible='<%# ((SiteMapNode) Container.DataItem).ChildNodes.Count == 0 ? false : true %>' data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" runat="server" NavigateUrl='#'><%# Eval("Title") %></asp:HyperLink>
                                            <asp:Repeater runat="server" DataSource='<%# ((SiteMapNode) Container.DataItem).ChildNodes %>'>
                                                <HeaderTemplate>
                                                    <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownPortfolio">
                                                </HeaderTemplate>
                                                <ItemTemplate>
                                                    <asp:HyperLink CssClass="dropdown-item" runat="server" NavigateUrl='<%# Eval("Url") %>'><%# Eval("Title") %></asp:HyperLink>
                                                </ItemTemplate>
                                                <FooterTemplate>
                                                    </div>
                                                </FooterTemplate>
                                            </asp:Repeater>
                                        </li>
                                    </ItemTemplate>
                                </asp:Repeater>
           </ul>
        </div>
      </div>
    </nav>
    

    而且这项工作非常好 谢谢大家

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      • 2022-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多