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}

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top