La longueur = 4 provient d'une tentative de sérialisation d'un objet chaîne. Votre code est en cours d'exécution de cette méthode ActionLink
:
public static string ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, object routeValues, object htmlAttributes)
Cela prend un objet string
« Home » pour routeValues, que les recherches de plomberie MVC pour les propriétés publiques en les transformant en valeurs de route. Dans le cas d'un objet string
, la seule propriété publique est Length
et comme aucune route n'est définie avec un paramètre Length, elle ajoute le nom et la valeur de la propriété en tant que paramètre de chaîne de requête. Vous trouverez probablement que si vous exécutez ceci à partir d'une page non sur HomeController
il va lancer une erreur sur une méthode d'action About
manquante. Essayez d'utiliser les éléments suivants:
Html.ActionLink("About", "About", new { controller = "Home" }, new { hidefocus = "hidefocus" })
Ce comportement apparaît également avec les méthodes Html.BeginForm(). –
Cela m'a rendu fou pendant une grande partie de la journée. Je suis massivement soulagé. – 5arx