4

I have a html.actionlink that i wish to display a link to a members profile page like this: http://somesite.com/members/{username}

When use the following markup

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

I get a link that looks like this: http://somesite.com/members?MemberName={username}

What would i need to change in the ActionLink helper to achieve a url like this:

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

0

3 Answers 3

4

Assuming in your routes the username token is {username} like you show, try this:

<%= Html.ActionLink(r.MemberName, "profile", new { username = r.MemberName } )%>
Sign up to request clarification or add additional context in comments.

Comments

2

You should add the route that maps "/members/{MemberName}" before other routes in the routing table.

Comments

2

Thanks for both your responses... I did not have my route matching the value name.

Simply ensuring that my route url matched made it work.

Here's my 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 })%>

Thanks again

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.