如何解决NavBar使用其所在页面的控制器代替在ActionLink中设置的控制器
我是MVC和Bootstrap的新手,并且导航栏有问题。当我在主页上时,导航栏会像预期的那样工作,但是当我切换到使用ActiveUser控制器的新页面时。链接中的控制器从Homecontroller更改为ActiveUser控制器,这不是假定的情况。下拉菜单部分只是一个测试,以查看它是否确实如此。
NavBar代码
<nav class="navbar navbar-expand-md">
<div class="container">
@Html.ActionLink("TADS","About","Home",new { @class = "navbar-brand" })
<div class="navbar-nav mr-auto">
<ul class="navbar-nav nav">
<li class="nav-item">
@Html.ActionLink("Home","Index",new { @class = "nav-link" })
</li>
<li class="nav-item">
@Html.ActionLink("About",new { @class = "nav-link" })
</li>
<li class="nav-item">
@Html.ActionLink("Contact","Contact",new { @class = "nav-link" })
</li>
<li class="dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">Dropdown</a>
<div class="dropdown-menu">
@Html.ActionLink("Home",new { @class = "dropdown-item" })
@Html.ActionLink("About",new { @class = "dropdown-item" })
@Html.ActionLink("Contact",new { @class = "dropdown-item" })
</div>
</li>
</ul>
</div>
</div>
</nav>
使用主页控制器在主页上导航栏在浏览器中正确转换
<div class="navbar-nav mr-auto">
<ul class="navbar-nav nav">
<li class="nav-item">
<a class="nav-link" href="/home/Index?Length=4">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/Home/About?Length=4">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/Home/Contact?Length=4">Contact</a>
</li>
<li class="dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">Dropdown</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/home/Index?Length=4">Home</a>
<a class="dropdown-item" href="/Home/About?Length=4">About</a>
<a class="dropdown-item" href="/Home/Contact?Length=4">Contact</a>
</div>
</li>
</ul>
</div>
但是当我切换到“活动用户”页面时,导航栏未正确转换。该Homecontroller替换为ActiveUser控制器,这不是它应该做的。
<div class="navbar-nav mr-auto">
<ul class="navbar-nav nav">
<li class="nav-item">
<a class="nav-link" href="/ActiveUser/index?Length=4">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/ActiveUser/About?Length=4">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/ActiveUser/Contact?Length=4">Contact</a>
</li>
<li class="dropdown">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">Dropdown</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="/ActiveUser/index?Length=4">Home</a>
<a class="dropdown-item" href="/ActiveUser/About?Length=4">About</a>
<a class="dropdown-item" href="/ActiveUser/Contact?Length=4">Contact</a>
</div>
</li>
</ul>
</div>
任何帮助将不胜感激。
解决方法
我终于在以下文章中找到了关于Stackoverflow问题的一部分的答案: What is the purpose of `area = "" ` in an Html.ActionLink? How to correctly use Html.ActionLink with ASP.NET MVC 4 Areas
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。