Длина = 4 происходит от попытки сериализации строкового объекта. Ваш код выполняет этот ActionLink
метод:
public static string ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, object routeValues, object htmlAttributes)
Это берет string
объект "Home" для routeValues, который MVC ищет в открытых свойствах, превращая их в значения маршрута. В случае string
объекта единственным общедоступным свойством является Length
, и поскольку не будет определено ни одного маршрута с параметром Length, он добавляет имя и значение свойства в качестве параметра строки запроса. Вы, вероятно, обнаружите, что если вы запустите это со страницы, которой нет, вы HomeController
увидите ошибку о пропущенном About
методе действия. Попробуйте использовать следующее:
Html.ActionLink("About", "About", new { controller = "Home" }, new { hidefocus = "hidefocus" })