2013-06-21 22 views
7

Poniżej znajduje się jedna z właściwości w moim modelu MVC.Ustawienie MaxLength daje błąd

[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; } 

mam model związany z widokiem, a gdy klikam przycisk „Prześlij”, daje następujący błąd Runtime -

Nie można rzutować obiektu typu „System.Int32” wpisać "System.Array"

Podczas gdy usunę atrybut "MaxLength", zacznie działać.

Co może być problemem tutaj?

Odpowiedz

10

MaxLength służy do określenia maksymalnej długości danych tablicy lub łańcucha dozwolonych w usłudze.

Twoja ID_EVENTO jest nullable int (zamiast tablicy lub łańcucha), dlatego atrybut nie działa. Wygląda na to, że chcesz usunąć atrybut lub użyć innego - albo coś podobnego?

+0

tak, to prawda. Usunąłem MaxLength i dodałem Int32, który rozwiązał ten problem. – Nirman

+3

Co za bezwzględny wrak pociągu komunikatu o błędzie. Ale ta odpowiedź postawiła mnie na dobrej drodze, dziękuję. :) – Kjensen

+0

To naprawiło problem dla mnie na projekcie, który odziedziczyłem. typ był int nullable, po prostu usunięto atrybut MaxLength z mojego viewmodel. Dzięki ;) –

Powiązane problemy