2012-08-25 2 views
0

다음 코드를 변경하여 올바른 URL을 생성하려면 어떻게해야합니까?다른 컨트롤러의 인덱스 액션에 대한 ActionLink는 어떻게 만듭니 까?

참고 : ActionLink는 DomainsController와 다른 컨트롤러에서 생성됩니다.

@Html.ActionLink("Domains", "Index", "Domains", new { id = item.Name }, null) 

목표는 다음 URL을 확인하는 것입니다.

/Domains/ItemName 

내가 받고 있어요 것은 :

/Domains/Index/ItemName 

어떤 도움이 크게 감사합니다.

답변

0

이상한 라우팅 : 여기

는 신속하고 더러운 솔루션을 간다 :

@{string link= "Domains/" + item.Name;} 
@Html.ActionLink("Domains", "", link, null, null) 
+0

올바른 URL에 대한 제안 사항은 무엇입니까?/ItemName/Domains? 그게 더 의미가 있지만, 그 중 하나를 구현하는 방법을 잘 모르겠습니다. 목표는 특정 항목과 연결된 도메인을 표시하는 사용자 친화적 인 URL을 갖는 것입니다. – alockrem

+0

구조, 보안 요구 사항에 따라 다릅니다 ... 우아한 솔루션을 찾기 위해 라우팅 옵션을 살펴볼 것입니다. 여기에 MVC 리소스가있는 링크가 있으며 기사 라우팅 섹션이 있습니다. http://msdn.microsoft.com/ ko-kr/library/gg416514 (VS.98) .aspx – MiBu

0

귀하의 요구 사항은 거의 불가능하다. 당신은 확실히 그렇지 않으면 당신은 간단하게 예를 들어, 사용 할 수 없을 것입니다,

routes.MapRoute(null, 
       "Domains/{id}", 
       new { controller = "Domains", action = "Index" } 
); 

그러나, 당신은 다른 DomainsController 액션 메소드의 모든 명시 적 라우팅 규칙을 만들어야 할 것 같은과 그것을 달성 할 수 /Domains/OtherAction 더 이상 - 위의 규칙에 걸리면 메소드 호출로 해석됩니다. id == "OtherAction"

관련 문제