Html.ActionLink in asp.net Objektwert MVC in falschem Format
-
19-08-2019 - |
Frage
Ich habe eine Html.ActionLink, die ich wünsche, einen Link zu einer Mitglieder Profilseite wie folgt angezeigt werden: http: / /somesite.com/members/ {username}
Wenn verwenden Sie das folgende Markup
<%= Html.ActionLink(r.MemberName, "profile", new { MemberName = r.MemberName } )%>
ich einen Link, der wie folgt aussieht: http://somesite.com/members?MemberName= {username}
Was brauche ich in der Action Helfer zu ändern, um eine URL wie folgt zu erreichen:
http://somesite.com/members/ {username}
Lösung
Unter der Annahme, in die Routenberechnung der Benutzername Token {username}, wie Sie zeigen, versuchen Sie dies:
<%= Html.ActionLink(r.MemberName, "profile", new { username = r.MemberName } )%>
Andere Tipps
Sie sollten die Route hinzufügen, die "/ Mitglieder / {} Member" vor anderen Routen in der Routing-Tabelle abbildet.
Danke für beide Ihre Antworten ... Ich habe nicht meine Strecke den Wert Namen entspricht.
Sie einfach sicherstellen, dass meine Route url abgestimmt haben es ausgehalten.
Hier ist mein Code ....
//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 })%>
Danke nochmal