Html.ActionLink en el valor del objeto asp.net MVC en formato incorrecto
-
19-08-2019 - |
Pregunta
Tengo un html.actionlink que deseo mostrar un enlace a una página de perfil de miembros como esta: http: / /somesite.com/members/ {nombre de usuario}
Cuando use el siguiente marcado
<%= Html.ActionLink(r.MemberName, "profile", new { MemberName = r.MemberName } )%>
Recibo un enlace que se ve así: http://somesite.com/members?MemberName= {nombre de usuario}
¿Qué necesitaría cambiar en el ayudante de ActionLink para lograr una URL como esta:
http://somesite.com/members/ {nombre de usuario}
Solución
Suponiendo en sus rutas que el token de nombre de usuario es {username} como muestra, intente esto:
<%= Html.ActionLink(r.MemberName, "profile", new { username = r.MemberName } )%>
Otros consejos
Debe agregar la ruta que mapea " / members / {MemberName} " antes de otras rutas en la tabla de enrutamiento.
Gracias por sus respuestas ... No tenía mi ruta que coincida con el nombre del valor.
Simplemente asegurarme de que mi URL de ruta coincida lo hizo funcionar.
Aquí está mi código ...
//Global.asax
routes.MapRoute(
"Profile",
"members/{membername}",
new { controller = "Members", action = "Profile", memberName = "" }
);
//In the Controller
public ActionResult Profile(string memberName)
{
return View();
}
//My Action Link
<%= Html.ActionLink(r.MemberName, "profile", new { memberName = r.MemberName })%>
Gracias de nuevo