2016-09-12 3 views
1

시나리오 :
DNS 이름은 다음과 같이 현지화되었습니다. 이러한 모든 항목은 동일한 웹 사이트를 가리 :MVC - 현지화 된 URL/경로

  • www.mavoiture.com (FR)
  • www.mycar.com (EN)
  • www.meinauto.com (드)

URL에 언어 코드를 사용하고 싶지 않습니다.

- www.mavoiture.com/maison/enregistrer (FR)
- www.mycar.com/house/register (EN)
- www.meinauto.com/Haus/registrieren (드)

각 언어의 작업 방법에 대한 경로 속성을 등록 할 수 있습니다.

첫눈에 반해

URL.Action("MyAction","Controller") 

또는

@Html.ActionLink(...) 

또는 나는 (또한 하이퍼 링크) 지역화 된 URL이 할 수있는 경로를 사용자 정의 할 수있는 방법을

@Html.RenderAction 

가 번역을 사용하는 경우 는하지만이 작동하지 않습니다 현재 언어? 언어는 DNS 이름에 의해 결정됩니다.

답변

0

@Html.RouteLink(...)을 사용하려고합니다. 이렇게하면 링크를 생성 할 때 경로를 지정할 수 있습니다.

그래서 모든 당신의 경로를 등록

@Html.RouteLink("Link to Register", "FR-Route", 
       new { controller = "House", action = "Register" }) 

링크는 다음 "메종/enregistrer"할 수있는 "FR-경로"템플릿으로 변환됩니다.

Url.Action - RouteUrl(...)을 사용할 수 있습니다.

RenderAction - 최종 사용자가 RenderAction의 URL을 절대 보지 않으므로별로 중요하지 않습니다.

+1

Perfect! ......... – Perro