2013-02-05 5 views
2

리소스 파일로 내 모델에서 데이터 주석을 번역 할 수 있도록 많은 사람들이 jgauffin에서 제공하는 솔루션을 권장합니다.asp.net의 griffin.mvccontrib 패키지에서 서버 오류가 발생했습니다.

그러나 localization tutorial을 따라 가면 프로젝트를 시작할 수 없습니다.

ModelValidatorProviders.Providers.Add(
    new LocalizedModelValidatorProvider(stringProvider) 
); 

그것은 LocalizedModelValidatorProvider 생성자는 다른 자습서로 표시되는 모든 인수를하지 않는 것을 말한다 :

문제가있는 코드

Global.asax.cs 파일에 가기로되어있다이 하나입니다.

하지만이 같은 라인을 변경할 때 :

ModelValidatorProviders.Providers.Add(
    new LocalizedModelValidatorProvider() 
); 

내가 브라우저에서 다음과 같은 오류 얻을 : 배열과 호환되지 않는 유형으로 요소에 액세스하려고

합니다.

설명 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 오류 및 코드에서 시작된 위치에 대한 자세한 정보는 스택 추적을 검토하십시오.

예외 정보 : System.ArrayTypeMismatchException : 배열과 호환되지 않는 형식으로 요소에 액세스하려고 시도했습니다.

griffin.mvccontrib 패키지는 Visual Studio 2012 아래에 NuGet과 함께 설치되었습니다. 내가 뭘 잘못하고 있는지 알겠습니까?

답변

0

당신은 찾을 수 this link 도움이

여기

내가 위의 링크에 등록했던 방법입니다 : 당신이 올바른 어셈블리 또한

using System.Resources; 
using Griffin.MvcContrib.Localization; 
using Griffin.MvcContrib.Localization.ValidationMessages; 

포함되어 있는지 확인

ResourceStringProvider myResouceFile = new ResourceStringProvider(ModelsResources.ResourceManager); 
//ModelsResources is my resource file generated class 
GriffinStringsProvider griffinStringsProvider = new GriffinStringsProvider(myResouceFile); 
ValidationMessageProviders.Clear(); 
ValidationMessageProviders.Add(griffinStringsProvider); 

ModelMetadataProviders.Current = new LocalizedModelMetadataProvider(myResouceFile); 
ModelValidatorProviders.Providers.Clear(); 
ModelValidatorProviders.Providers.Add(new LocalizedModelValidatorProvider()); 

을 리소스 파일의 어셈블리.