2011-09-10 6 views
1

누군가이 ActionLink에 어떤 문제가 있다고 말할 수 있습니까?@ Html.ActionLink 문제

@Html.ActionLink(posts.Title, "PostDetails", "Blogs", new { id = posts.PostID }) 

나는로 이동하려면이 링크를 기대하고있다 :

http://localhost/Blogs/PostDetails?whateverpassed

하지만 그 대신 나는 파이어 폭스에서 다음을 참조하십시오 :

http://localhost:1815/Home/PostDetails?Length=5

Blogs 컨트롤러에도 연결되지 않습니다.

+0

라우팅 규칙이 같은 점은 무엇입니까? –

+0

나는 기본 하나를 사용하고 있습니다 ... 나는 그 멍청이가 새로운 라우터를 필요로한다고 생각하지 않습니다 ... –

답변

2

올바른 오버로드 된 메서드를 호출 하시겠습니까? 하나의 파라미터를 놓치면 다른 의미를 갖습니다.

HTML.ActionLink method

http://msdn.microsoft.com/en-us/library/dd505040.aspx

당신이 PARAM을 누락 된 경우 한 번 확인하시기 바랍니다.

+0

글쎄, 그 링크는 모든 것을 소트했습니다 ... 나는 ActionLink에서 마지막 파라미터를 제공해야합니다 ... @Html. ActionLink (posts.Title, "PostDetails", "Blogs", new {id = posts.PostID}, null) –

+2

나는 종종 이와 똑같은 실수를 저지른다. 원래의 코드는 잘못된 과부하이기 때문에'routeValues ​​= "Blogs", htmlAttributes = new {id = posts.PostId}'를 사용하고 있습니다. –

1
그것은 경로 값이 전달되는 방식과 관련이있다

대신 이것을 사용 :

@Html.ActionLink(posts.Title, "PostDetails", new {Controller="Blogs", id = posts.PostID }) 
+0

thx ... 이제 명확한 견해를 얻었고 답변에서 diff 방법을 배웠습니다 ... –

+0

이것은 여전히 ​​잘못되었습니다 ... 'new {Controller = "Blogs", id = posts.PostId }' –

+0

고마워, 네 말이 맞아. – Turnkey

관련 문제