asp.net mvc 객체 값의 html.actionLink가 잘못된 형식의 객체 값입니다
-
19-08-2019 - |
문제
멤버 프로필 페이지에 링크를 표시하려는 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 })%>
다시 한 번 감사드립니다
제휴하지 않습니다 StackOverflow