Frage

Ich habe ein Problem mit meinen ASP.NET -RangeValidator -Steuerelementen.

Ich möchte den Benutzern erlauben, einen Rabattbetrag einzugeben, und dieser Betrag muss negativ sein (<$ 0,00). Ich möchte überprüfen, ob der in einem Textfeld eingegebene Betrag ein negativer Wert ist. Daher habe ich dies in meinem Seitenmarkup:

<asp:TextBox ID="tbxDiscount" runat="server" />
<asp:RangeValidator ID="rvDiscount" runat="server" ControlToValidate="tbxDiscount"
     MinimumValue="0.0" MaximumValue="0.0" EnableClientScript="true" 
     ErrorMessage="Please enter a negative value for a discount" />

Und ich versuche, das Minimumwert dynamisch in meinem Code festzulegen, bevor die Seite auf das negative Äquivalent meines Artikelpreises gerendert wird. Wenn der Artikel 69 US -Dollar beträgt, möchte ich den Mindestwert auf - 69 US -Dollar festlegen:

rvDiscount.MinimumValue = (-1.0m * Price).ToString();

Das Problem ist: Ich erhalte diese Fehlermeldung immer wieder:

Der Maximalwert 0,0 kann für rvdiscount nicht geringer sein als der Mindestwert -69,00

Wtf?!?! ??! Woher ich komme, -69 $ IST Weniger als 0 $ ...... Also, was ist das Problem?

Und was noch wichtiger ist: Was ist das Lösung zu dem Problem ??

War es hilfreich?

Lösung

Es versucht nicht, Mathe zu machen, sondern einen String -Vergleich durchzuführen, weil Sie es sonst nicht gesagt haben. Fügen Sie dieses Attribut hinzu:

Type="Double"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top