Я использую класс HtmlHelper, в котором я использовал некоторый код, и я установил его для своего макета Navbar как меню.
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")
Теперь, когда я запускаю приложение, оно сначала загружает страницу входа, где путь входа: Account / Login
Теперь в меню поиска, когда я нахожу это меню тогда я обнаружил, что этот URL-адрес меню также установлен как Account / Search? Length = 4.
Но я пропустил контроллер «Home» для этого меню.
Я отлаживаю вспомогательный класс html код и обнаружил, что он устанавливает правильное действие и контроллер, который передается из макета.
Не знаю, где изменить этот URL.
Пожалуйста, предложите.