asp.net下拉导航菜单控制器更改问题



所以我在_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)

最新更新