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}

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top