Pregunta

Yo estoy usando el s#arp arquitectura 2.0 con asp.net mvc 3.0.La maquinilla de afeitar de código en una página maestra se parece a esto:

 @Html.ActionLink("Logout", "LogOff", "Users", new { style = "color:Blue;" })

Por alguna razón, la aplicación no produce el enlace correcto ya (a la acción de cierre de sesión de los usuarios de controlador), sino más bien apunta a la actual controlador para la acción de cierre de sesión.No he cambiado nada.¿dónde tengo que cavar para superar esto, por favor?

El vínculo que se genera se parece a esto:

CurrentControllerName/Cierre De Sesión?Longitud=5

¿Fue útil?

Solución

Se llama a un mal de sobrecarga de la ActionLink ayudante.Aquí está lo que debes hacer:

@Html.ActionLink(
    "Logout",                         // linkText
    "LogOff",                         // actionName
    "Users",                          // routeValues
    new { style = "color:Blue;" }     // htmlAttributes
)

Es bastante obvio por qué esto no produce la url correcta.Se pasa "Users" que es un valor de cadena en el lugar donde el ayudante de espera routeValues que debe representar un objeto anónimo.

El corregir la sobrecarga de es:

@Html.ActionLink(
    "Logout",                         // linkText
    "LogOff",                         // actionName
    "Users",                          // controllerName
    null,                             // routeValues
    new { style = "color:Blue;" }     // htmlAttributes
)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top