2012-04-04 3 views
3

Wir haben Code wie folgt aus:Daten Anmerkungen mit Dezimal nicht funktioniert

[DisplayName("Refresh Rate")] 
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:G2}")] 
    [Range(1.00, 150.00, ErrorMessage = "Must be between 1 and 150")] 
    public virtual decimal RefreshRate { get; set; } 

, die nicht funktioniert. Wenn wir es zu

[Range(0.00, 150.00, .... 

ändern, funktioniert es. Wenn wir die richtige Methode der

[Range(typeof(Decimal), "1", "150", .... 

zu verwenden versuchen, funktioniert es auch nicht. Mit "funktioniert nicht" meine ich, dass es nicht validiert. Warum würde 0 funktionieren, aber keine andere Nummer? Wie können wir diesen Code funktionieren lassen?

Antwort

0

Ich weiß nicht, was die Validierung Dezimalstellen Ihr Zweck ist, aber vielleicht klappt dieser Trick für Sie:

Wie Sie 2 Präzision Zahlen benötigen, gibt es ein Datentyp ist, der vielleicht können Sie es verwenden: Währung. Also, vielleicht folgende Arbeiten für Sie:

[DisplayName("Refresh Rate")] 
[Datatype(DataType.Currency)] 
[Range(1, 150, ErrorMessage = "Must be between 1 and 150")] 
public virtual decimal RefreshRate { get; set; } 

Bitte sagen Sie mir, wenn es nicht funktioniert ...