Html.ActionLink em asp.net valor do objeto MVC no formato errado
-
19-08-2019 - |
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}
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