Html.ActionLink nel valore dell'oggetto MVC asp.net nel formato errato
-
19-08-2019 - |
Domanda
Ho un html.actionlink che desidero visualizzare un collegamento a una pagina del profilo di un membro come questa: http: / /somesite.com/members/ {username}
Quando si utilizza il seguente markup
<%= Html.ActionLink(r.MemberName, "profile", new { MemberName = r.MemberName } )%>
Ottengo un link simile al seguente: http://somesite.com/members?MemberName= {username}
Cosa dovrei cambiare nell'helper di ActionLink per ottenere un URL come questo:
http://somesite.com/members/ {username}
Soluzione
Supponendo che nelle tue rotte il token del nome utente sia {username} come mostrato, prova questo:
<%= Html.ActionLink(r.MemberName, "profile", new { username = r.MemberName } )%>
Altri suggerimenti
Devi aggiungere il percorso che mappa " / members / {MemberName} " prima di altri percorsi nella tabella di routing.
Grazie per entrambe le tue risposte ... Non ho avuto il mio percorso corrispondente al nome del valore.
Semplicemente assicurandomi che il mio URL di percorso abbinato lo facesse funzionare.
Ecco il mio codice ....
//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 })%>
Grazie ancora