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

时间:2016-08-29 15:34:33

标签: asp.net asp.net-mvc layout

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

每次跑步我只能从菜单中选择一个位置。当我尝试选择不同的动作时,应用程序没有看到我想要更改Controller。当我想要改变动作时,应用程序总是在当前的控制器I中搜索。

例如:如果我在 Controller1 / Action 并且我想转到 Controller2 / Second ,程序总是搜索 Controller1 / Second 行动结果。

在创建该菜单之前,链接工作正常。有人能告诉我为什么会这样吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您正在使用Storage Analytics Logs方法过载错误。

使用this重载。第五个参数是为元素指定任何html属性(例如:css类名等)。如果您没有,请传递Html.ActionLink

null