문제
여러 국가에서 출시되는 응용 프로그램이 있습니다. Web.config 파일에는 국가를 정의하는 설정이 있습니다. 국가는 URL에 있지 않을 것입니다.
전망 중 일부는 국가에 따라 변경됩니다. 첫 번째 시도는 기본보기와 다른 경우보기가 포함 된 views 폴더 내부의 폴더를 사용하는 것입니다.
기본
/questions/ask.aspx
스페인
/questions/esp/ask.aspx
국가 폴더에보기가없는 경우 기본보기가 사용됩니다. 컨트리 폴더에서 뷰 엔진을 조회보기로 확장하는 방법이 있습니까?
편집하다:
이것은 POC 전용입니다. 전체 구현을 보려면 살펴보십시오
http://pietschsoft.com/?tag=/mvc
private static string[] LocalViewFormats =
new string[] {
"~/Views/{1}/ESP/{0}.aspx",
"~/Views/{1}/{0}.aspx",
"~/Views/{1}/{0}.ascx",
"~/Views/Shared/{0}.aspx",
"~/Views/Shared/{0}.ascx"
};
public LocalizationWebFormViewEngine()
{
ViewLocationFormats = LocalViewFormats;
}
해결책
public class MyViewEngine : WebFormViewEngine
{
private static string[] LocalViewFormats = new[] { "~/Views/ESP/{0}.aspx",
"~/Views/ESP/{0}.ascx" };
public MyViewEngine()
{
ViewLocationFormats = LocalViewFormats.Union(ViewLocationFormats).ToArray();
}
}
분명히, 당신은 위치를 하드 코드하고 싶지 않지만 이것은 당신에게 일반적인 아이디어를 제공해야합니다.
제휴하지 않습니다 StackOverflow