2013-06-21 5 views
7

Folgendes ist eine der Eigenschaft in meinem MVC-Modell.Einstellung MaxLength gibt Ihnen Fehler

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

Ich habe das Modell mit einem Blick gebunden, und wenn ich versuche, auf „Senden“ zu klicken, gibt es Fehler folgende Laufzeit -

Kann nicht das Objekt des Typs ‚System.Int32‘ werfen Geben Sie 'System.Array' ein

Während, wenn ich das Attribut "MaxLength" entfernen, beginnt es zu arbeiten.

Was könnte das Problem hier sein?

Antwort

10

MaxLength wird verwendet, um die maximale Länge von Array- oder String-Daten anzugeben, die in einer Eigenschaft zulässig sind.

Ihr ID_EVENTO ist ein Nullwert int (anstatt Array oder String), deshalb funktioniert das Attribut nicht. Klingt, als ob Sie entweder das Attribut entfernen oder ein anderes verwenden möchten - Range oder etwas?

+0

ja, das stimmt. Ich habe MaxLength entfernt und Int32 hinzugefügt, wodurch dieses Problem behoben wurde. – Nirman

+3

Was für ein absoluter Zug-Wrack einer Fehlermeldung. Aber diese Antwort hat mich auf den richtigen Weg gebracht, danke. :) – Kjensen

+0

Das behebt das Problem für mich in einem Projekt, das ich geerbt habe. Der Typ war ein Nullable-Int, einfach das MaxLength-Attribut aus meinem Viewmodel entfernt. Vielen Dank ;) –

Verwandte Themen