2010-08-17 4 views
1

html 테이블의 행을 컨트롤러에 대한 링크로 변환 할 수 있기를 바랍니다. 내가 MVC 2Turining An HTML <td> 링크로 ASP.NET MVC

감사를 사용하고

<td onclick="<%:Html.ActionLink("", "Index", new {id=item.user_id}) %>"> 

같은 것을 생각.

+1

TD 안에 하이퍼 링크를 넣을 수는 없습니까? 그렇다면 JavaScript에 의존하지 않으십니까? –

답변

2
<td onclick="window.location='<%:Url.Action("Index", new {id=item.user_id}) %>'"> 

onclick 속성은 실행할 몇 가지 JavaScript 코드를 허용합니다. 단순히 URL을 주면 자바 스크립트는 그걸 어떻게 처리해야할지 모릅니다.

위의 스 니펫에서 window.location 속성을 원하는 URL로 설정하고 있습니다. 이로 인해 브라우저가 표시됩니다.

편집 : 당신이 실제로 코드에 <a href=""></a> 태그를 생성하는 Html.ActionLink() 방법을 사용하고 있음을 나는 또한 깨달았. 실제로는 URL을 생성하는 Url.Action() 메서드를 사용하는 것이 좋습니다.

+0

감사합니다. 이름이 null이거나 정의되지 않았다고 불평하기 때문에 작동하지 않습니다.하지만이 시도했습니다. onclick = "window.location.href = '/ Controller/Method/<% : item.user_id %>'"및 그것은 그것을 좋아했다 – Peter

+0

당신이 그 코멘트를 게시하는 동안 나는 방금 나의 대답을 편집했다. 새 편집 된 스 니펫을 사용하면 작동합니다. 나는 그런 링크를 "하드 코딩"하지 않을 것입니다. Url.Action() 메서드를 사용하면 더 나아질 수 있습니다. – jessegavin

+0

그게 완벽합니다. 더 나은 해결책이 있어야한다는 것을 알고있었습니다. – Peter

관련 문제