문제

멤버 프로필 페이지에 링크를 표시하려는 HTML.ActionLink가 있습니다. http://somesite.com/members/{사용자 이름}

다음 마크 업을 사용하는 경우

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

나는 다음과 같은 링크를 얻는다 : http://somesite.com/members?membername={사용자 이름}

다음과 같은 URL을 달성하기 위해 ActionLink 도우미에서 무엇을 변경해야합니까?

http://somesite.com/members/{사용자 이름}

도움이 되었습니까?

해결책

귀하의 경로에서 사용자 이름 토큰이 표시되는 것처럼 {username}이라고 가정하면 다음을 시도하십시오.

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

다른 팁

라우팅 테이블의 다른 경로 전에 "/members/{membername}"을 맵핑하는 경로를 추가해야합니다.

두 답변에 감사드립니다 ... 값 이름과 일치하는 경로가 없었습니다.

내 경로 URL이 일치하도록 단순히 작동하도록 보장합니다.

여기 내 코드가 있습니다 ....

//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 })%>

다시 한 번 감사드립니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top