Pergunta

Eu tenho um Html.ActionLink que gostaria de exibir um link para uma página de membros perfil assim: http: / /somesite.com/members/ {username}

Ao usar a seguinte marcação

<%= Html.ActionLink(r.MemberName, "profile", new { MemberName = r.MemberName } )%>

Eu recebo uma ligação que se parece com isto: http://somesite.com/members?MemberName= {username}

O que eu preciso mudar na helper ActionLink para alcançar um url como este:

http://somesite.com/members/ {username}

Foi útil?

Solução

Assumindo em suas rotas o token nome de usuário é {username} como você mostrar, tente o seguinte:

<%= Html.ActionLink(r.MemberName, "profile", new { username = r.MemberName } )%>

Outras dicas

Você deve adicionar a rota que os mapas "/ membros / {} MemberName" antes de outras rotas na tabela de roteamento.

Obrigado por ambas as suas respostas ... Eu não tive o meu percurso correspondente ao nome valor.

Simplesmente garantir que a minha url rota combinado fez funcionar.

Aqui está o meu 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 })%>

Obrigado novamente

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top