所以我在_Layout.cshtml.中创建了下拉菜单
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"
role="button" aria-expanded="false"><span>Menu</span></a>
<ul class="dropdown-menu" role="menu">
<li>@Html.ActionLink("FirstAction", "Action", "Controller1")</li>
<li>@Html.ActionLink("Second", "second", "Controller2", new { wszystko = true })</li>
<li>@Html.ActionLink("Third", "Third", "Controller3")</li>
</ul>
</li>
</ul>
每次跑步时,我只能从菜单中选择一次位置。当我尝试选择不同的操作时,应用程序并没有看到我要更改控制器。当我想改变操作时,应用程序总是在我当前所在的控制器中搜索
例如:如果我在Controller1/Action中,并且我想转到Controller2/Second,程序总是搜索Controller1/SecondAction结果。
在我创建该菜单之前,链接工作正常。有人能告诉我为什么会这样吗?
ActionLink
的唯一重载需要四个参数:
HtmlHelper.ActionLink(string linkText, string actionName, object routeValues, object htmlAttributes)
请注意,没有控制器名称。你需要使用
HtmlHelper.ActionLink(string linkText, string actionName, string controllerName, object routeValues, object htmlAttributes)
例如
@Html.ActionLink("Second", "second", "Controller2", new { wszystko = true }, null
(
您错误地使用了Html.ActionLink
方法重载。
使用此过载。第五个参数是为元素指定任何html属性(例如:css类名等(。如果你没有,只需通过null
@Html.ActionLink("Second", "second", "Controller2", new { wszystko = true },null)