La longitud = 4 proviene de un intento de serializar un objeto de cadena. Su código se ejecuta este método ActionLink
:
public static string ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, object routeValues, object htmlAttributes)
Esto toma un string
objeto "Inicio" para routeValues, que las búsquedas de plomería MVC para las propiedades públicas convirtiéndolos en valores de ruta. En el caso de un objeto string
, la única propiedad pública es Length
, y como no habrá rutas definidas con un parámetro de Longitud, agrega el nombre y el valor de la propiedad como un parámetro de cadena de consulta. Probablemente descubrirá que si ejecuta esto desde una página que no está en el HomeController
arrojará un error sobre el método de acción About
que falta. Trate de usar la siguiente:
Html.ActionLink("About", "About", new { controller = "Home" }, new { hidefocus = "hidefocus" })
Este comportamiento también aparece con los métodos Html.BeginForm(). –
Esto me ha estado volviendo loco la mayor parte del día. Estoy enormemente aliviado. – 5arx