.NET MVC 3 Benutzerdefinierte Dezimalzahl? Modellbinder

8

In meinem Modell habe ich die folgende Dezimalzahl? Eigenschaft:

%Vor%

Mir ist klar, dass ich einen benutzerdefinierten Modellbinder für Dezimalzahlen benötige, den Haack unter folgendem Link bereitgestellt hat: Ссылка .

Ich habe seinen Code so geändert, dass, wenn der übergebene Wert ein Währungssymbol und / oder ein Komma enthält, ich ihn entferne und dann versuche, ihn in eine Dezimalzahl umzuwandeln. Das funktioniert, aber da meine Eigenschaft ein nullwertfähiger Dezimaltyp ist, möchte ich auch, dass er nichts akzeptiert und auf seinem fröhlichen Weg fortschreitet, indem er eine Null in diese Spalte in meiner Datenbank einfügt. Jetzt fügt es eine 0.00 ein. Ich weiß, dass ich etwas in meinem Code verpasse, aber ich habe einen Gehirnfrost.

Hier ist der Binder-Code:

%Vor%

Auch hier ist das Ziel, Dezimal zu haben? handle wie gewöhnlich, aber wenn es einen Wert gibt, der ein Währungssymbol und / oder ein Komma enthält und in eine Dezimalzahl konvertiert werden kann, dann gib das zurück.

Danke

    
Mike 24.05.2011, 14:25
quelle

2 Antworten

1

Im try-Block denke ich, dass du etwas wie

brauchst %Vor%

In Ihrem Code setzen Sie immer actualValue auf das Ergebnis von ToDecimal ().

    
Steve Mallory 24.05.2011, 15:08
quelle
8

Sie sind wahrscheinlich besser dran, die eingebaute Unterstützung für den Umgang mit NumberStyles zu nutzen. Auf diese Weise können Sie mehr als nur das übliche Dollarzeichen berücksichtigen, aber auch Pfund, Yen usw. ...

%Vor%     
Nick Albrecht 13.10.2011 18:33
quelle

Tags und Links