4
A
답변
1
은 당신이 뭔가를 할 수 있습니다 :
@Html.RouteLink("Switch Language", "Default", new {
controller = ViewContext.RouteData.Values["controller"],
action = ViewContext.RouteData.Values["action"],
id = ViewContext.RouteData.Values["id"],
language = "fr"
})
아마이 생각을 처리 할 수있는 확장 메서드를 만들기 위해 의미가있다.
2
대부분의 경우 링크 렌더링 뷰의 ViewModel 또는 ViewData의 일부로 {language}
값을 삽입 할 수 있습니다. 당신이 이것을 달성 할 수있는 몇 가지 다른 방법이 있습니다. 예를 들어 컨트롤러의 OnActionExecuted()
메서드가 오버로드되는 것입니다. 이 방법을 사용한다면 모든 컨트롤러가 단일 기본 컨트롤러에서 상속되도록하는 것이 좋습니다. 보기에
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
filterContext.Controller.ViewData["Language"] = GetUserLanguage();
base.OnActionExecuted(filterContext);
}
: 그리고
@Url.Action("Index", "Home", new { language = ViewData["Language"] })
또는,이 값을 자동으로 추가 논리와 Url.Action()
및 Html.ActionLink()
방법 과부하를 고려해 볼 수 있습니다.
관련 문제
- 1. 웹 API 경로가 나는 다음과 같은 URL에 액세스하려고 올바른 URL
- 2. 나는 다음과 같은 형식의 경로가 C#을
- 3. ASP.NET 나는 다음과 같은 URL 직접 싶습니다
- 4. 페이팔 반환 URL 나는 형태는 다음과 같은
- 5. MVC 4 사용자 정의 경로 나는 다음과 같은 경로가 정의한
- 6. 나는 다음과 같은 URL 먹고 싶어 나는 상황이
- 7. 나는 다음과 같은 오류가 다음과 같은 예에서
- 8. 나는 다음과 같은 템플릿이 장고
- 9. 나는 나는 다음과 같은 URL을
- 10. 나는 다음과 같은 오류
- 11. 나는 다음과 같은 데
- 12. 나는 다음과 같은 한
- 13. 나는 다음과 같은 한
- 14. 나는 다음과 같은 한
- 15. 나는 다음과 같은 클래스가
- 16. 나는 다음과 같은 한 #
- 17. 나는 다음과 같은 코드가
- 18. 나는 다음과 같은 검사를
- 19. 나는 다음과 같은 사용하고
- 20. 나는 다음과 같은 클래스했다
- 21. 나는 다음과 같은 클래스가
- 22. 나는 다음과 같은 코드가
- 23. 나는 다음과 같은 한
- 24. 나는 다음과 같은 변수했다
- 25. 나는 다음과 같은 쿼리가
- 26. 나는 다음과 같은 한 Node.js를
- 27. 나는 다음과 같은 그리드가 정의한
- 28. 나는 다음과 같은 형태로 SO처럼 내 홈페이지에 URL 목록을 PHP
- 29. 레일 : 나는 데이터베이스에 다음과 같은 속성이있는 URL 클래스가
- 30. 간단한 html dom과? 나는 다음과 같은 코드를 사용하려고 URL