Question

Je vais avoir un problème avec mes contrôles ASP.NET RangeValidator.

Je veux permettre aux utilisateurs d'entrer un montant d'escompte, et ce montant doit être négatif (<0,00 $). Je veux vérifier que le montant inscrit dans une zone de texte est une valeur négative, donc j'ai dans mon balisage de la page:

<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" />

et je tente de régler le MinimumValue dynamiquement dans mon code avant que la page se rend - à l'équivalent négatif de mon prix de l'article. Donc, si l'élément est de 69 $, je veux définir la valeur minimum à - 69 $:

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

Le problème est: Je continue à recevoir ce message d'erreur:

La valeur maximale 0.0 ne peut être inférieure que la valeur minimale -69,00 pour rvDiscount

WTF?!?! ??! D'où je viens, -69 $ IS moins de $ 0 ...... Quel est donc le problème?

Et plus important encore: quelle est la solution au problème ??

Était-ce utile?

La solution

Il ne cherche pas à faire des mathématiques, il est fait une comparaison de chaîne parce que vous ne l'avez pas dit autrement. Essayez d'ajouter cet attribut:

Type="Double"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top