Bootstrap DropDown menu doesn't work after fir

2019-09-08 05:01发布

I have my dropdown menu in my _Layout.cshtml and clicking on one of the menu items works fine the first time, for example takes me to http://localhost:52098/Home/ViewTable/Scottish Premiership.

If I click on the URL again, it tries taking me to http://localhost:52098/Home/ViewTable/Home/ViewTable/Scottish Premiership

The navigation Code:

div class="navbar navbar-inverse navbar-fixed-top">
            <ul class="nav nav-pills">
                <li role="presentation" class="dropdown">
                    <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
                        Scotland <span class="caret"></span></a>
                        <ul class="dropdown-menu multi-level" role="menu">
                            <li role="presentation"><a role="menuitem" tabindex="-1" href="Home/ViewTable/Scottish Premiership">
                                Scottish Premiership
                            </a></li>
                            <li role="presentation">
                                <a role="menuitem" tabindex="-1" href="Home/ViewMain/Scottish Championship">
                                    Scottish Championship
                                </a>
                            </li>
                            <li role="presentation">
                                <a role="menuitem" tabindex="-1">
                                   Scottish First Division
                                </a>
                            </li>
                            <li role="presentation">
                                <a role="menuitem" tabindex="-1">
                                   Scottish Second Division
                                </a>
                            </li>

                        </ul>
               </li>
                <li role="presentation" class="dropdown">
                    <a class="dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-expanded="false">
                        England <span class="caret"></span>
                        <ul class="dropdown-menu" role="menu">
                            <li role="presentation">
                                <a role="menuitem" tabindex="-1" href="Home/ViewMain/Scottish Championship">
                                   English Premier League
                                </a>
                            </li>
                            <li role="presentation">
                                <a role="menuitem" tabindex="-1" href="Home/ViewMain/Scottish Championship">
                                   English Championship
                                </a>
                            </li>
                        </ul>
                </li>
            </ul>
           // @*@Html.MvcSiteMap().Menu(false, true, true, true, true)
            @Html.MvcSiteMap().SiteMapPath()*@


            <div class="navbar-collapse collapse">
                <ul class="nav navbar-nav"></ul>
            </div>

</div>

Looks like it's taking a relative path from the one i'm already on + the href on the link, where as what I really want is an absolute path?

1条回答
SAY GOODBYE
2楼-- · 2019-09-08 05:33

Add '/' to the start of your URLs

like /Home/ViewMain/Scottish ChampionShip

And it is always better to use

@Url.Action("MethodName", "Controller")

e.g.

<a href="@Url.Action("MethodName", "Controller")"> Test</a>

To pass a Parameter in URL

  <a href="@Url.Action("MethodName", "Controller", new {LeagueName = "Scottish Premiership"})"> Test</a>
查看更多
登录 后发表回答