2009-05-04 2 views
3

하자에서 다른 컨트롤러 I 페이지 "홈/색인"을 그리고 난 페이지 MyOtherController/색인 나는이 작업을 수행 할 수있는 방법/1Asp.Net MVC 전화보기

로 이동하고 싶은 말은?

나는 시도 :

<%= Html.ActionLink("Test", "Index", "MyOtherController", new { id=item.Id }) %>

가 나는 또한 Global.aspx의 경로가 파일을 추가 할 수 있었나요?

<%= Html.ActionLink("Test", "Index" 
    , "MyOtherController", new { id = item.Id }, null) %>

기본 경로에 :

<%= Html.ActionLink("Test", "Index" 
    , new { controller = "MyOtherController", id = item.Id }) %>

대안이 htmlAttributes = nullActionLink의 오버로드를 사용하는 것입니다

답변

8

하나의 옵션은 routevalues의 목록에있는 컨트롤러의 이름을 지정하는 것입니다 이 경우에는 ASP.NET MVC 템플릿이 라우팅을 처리합니다.

1

ActionLink에 특정 서명과 일치하는 오버로드가 있다고 생각하지 않습니다. 일치하는 경로 값을 찾으려면 경로 값 뒤에 "null"을 추가해야합니다 (htmlAttributes의 경우). Ole의 솔루션은 더 깨끗해졌지만 실제로는 선호도의 문제입니다. 또한 가독성을 높이기 때문에 각 매개 변수가 링크 텍스트인지, 액션/컨트롤러인지 추측 할 필요가 없습니다.