La longueur=4 provient d'une tentative de sérialisation d'un objet chaîne. Votre code s'exécute comme suit ActionLink
méthode :
public static string ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, object routeValues, object htmlAttributes)
Cela prend un string
L'objet "Home" pour routeValues, que la plomberie MVC recherche pour les propriétés publiques en les transformant en valeurs de route. Dans le cas d'un string
la seule propriété publique est Length
et, comme aucune route ne sera définie avec un paramètre de longueur, il ajoute le nom et la valeur de la propriété comme paramètre de chaîne de requête. Vous trouverez probablement que si vous exécutez ceci à partir d'une page qui n'est pas sur le site de HomeController
il lancera une erreur à propos d'un manquant About
méthode d'action. Essayez d'utiliser ce qui suit :
Html.ActionLink("About", "About", new { controller = "Home" }, new { hidefocus = "hidefocus" })
4 votes
Ce comportement apparaît également avec les méthodes Html.BeginForm().