2010-04-21 5 views

답변

41

아마도 Html.ActionLink의 잘못된 오버로드를 사용하고 있으며 HTML 속성 대신 경로 매개 변수를 추가하고있을 것입니다. HTML 속성을 지정하기 전에 네 번째 매개 변수로 NULL을 추가해야합니다. 다음과 같이 입력하십시오 :

Html.ActionLink("Title", "Action", "Controller", null ,new { title = "Title"}) 

이것이 작동하지 않으면 코드를 게시하십시오.

+0

그게 전부입니다. 명명 매개 변수를 사용했지만 여전히이 쿼리 문자열을 없애기 위해 routeValues ​​: null을 추가해야했습니다. – arche89

3

당신은 당신이 Html.ActionLink에 대한 올바른 오버로드를 사용하는 경우 확인하려면 htmlattributes 전에서 스틱을 내 머리

html.actionlink("a","b","c",new {},new {@class = "d"}) 
2

확인의 상단을 이런 식으로 뭔가를 추가 빈 개체 매개 변수를 스틱이 필요합니다.

그들은 익명의 객체를 포함하여 객체를 취하고 사용하는 오버로드에 따라 경로 값 사전 또는 html 속성으로 변환하기 때문에 까다로워집니다. 이후 실행하고 잘 컴파일하면 당신이 어려운 두 가지를 엉망으로 말해 만약 당신이 오른쪽 과부하를 사용합니다.

1

당신이 'routeValues'를 통과하는 경우,

는 'htmlAttributes가' null로 설정되어 있는지 확인합니다.

Html.ActionLink("Title", "Action", "Controller", new {}, null) 

다른 잘못된 오버로드 AcitonLink이 선택됩니다.

관련 문제