2013-06-21 3 views
7

다음은 MVC 모델의 속성 중 하나입니다.MaxLength를 설정하면 오류가 발생합니다.

유형의 개체를 캐스팅 할 수 없습니다 '선택 System.Int32'-

[Display(Name = "Event ID")] 
[MaxLength(8, ErrorMessage = "Event ID can be of maximum 8 characters long")] 
[Required(ErrorMessage="Event ID must be entered")] 
public Nullable<int> ID_EVENTO { get; set; } 

내가 볼 수있는 모델을 결합, 그리고 내가 클릭 할 때 "제출"한 버튼, 그것은 다음과 같은 런타임 오류를 제공 'System.Array'를 입력하십시오.

"MaxLength"특성을 제거하면 작업이 시작됩니다.

여기에 어떤 문제가있을 수 있습니까?

답변

10

MaxLength은 속성에 허용되는 배열 또는 문자열 데이터의 최대 길이를 지정하는 데 사용됩니다.

ID_EVENTO은 배열 또는 문자열이 아닌 null이 허용되는 int이므로 속성이 작동하지 않는 이유입니다. 속성을 제거하거나 다른 것을 사용하려는 것 같습니다 - Range 또는 무엇인가요?

+0

네, 맞습니다. MaxLength를 제거하고이 문제를 해결 한 Int32를 추가했습니다. – Nirman

+3

오류 메시지의 절대적인 난파선. 그러나이 대답은 나를 궤도에 올려 놓았습니다, 감사합니다. :) – Kjensen

+0

이것은 내가 상속 한 프로젝트에서 나에게 이슈를 수정했다. 형식이 nullable int, 단순히 내 viewmodel에서 MaxLength 특성을 제거했습니다. 감사 ;) –

관련 문제