【发布时间】:2020-10-11 09:35:51
【问题描述】:
我正在使用 HtmlHelper 类,其中我使用了一些代码,并将其设置为我的布局导航栏作为菜单。
下面是相同的代码:
public static MvcHtmlString MenuLink(this HtmlHelper helper,string text, string action, string controller)
{
var routeData = helper.ViewContext.RouteData.Values;
var currentController = routeData["controller"];
var currentAction = routeData["action"];
if (String.Equals(controller, currentController as string, StringComparison.OrdinalIgnoreCase))
{
return new MvcHtmlString("<li class=\"nav-item active\">" + helper.ActionLink(text, action, controller, new { @class="nav-link" }) + "</li>");
}
return new MvcHtmlString("<li class=\"nav-item\">" + helper.ActionLink(text, action, controller, new { @class = "nav-link" }) + "</li>");
}
我在布局页面中设置了如下菜单:
@Html.MenuLink("Search", "Search", "Home")
现在,当我运行应用程序时,它首先加载登录页面,其中登录路径为:帐户/登录
现在在搜索菜单中,当我悬停此菜单时,我发现此菜单 url 也设置为 Account/Search?Length=4。
但我为这个菜单传递了“主页”控制器。
我调试了 html 帮助类代码,发现它设置了正确的操作和控制器,这是从布局传递的。
不知道这个网址是在哪里改的。
请提出建议。
【问题讨论】:
标签: html bootstrap-4 asp.net-mvc-5