Pregunta

Tengo un problema con mis controles ASP.NET RangeValidator.

Quiero permitir que los usuarios ingresen un monto de descuento, y esta cantidad debe ser negativa (<$ 0.00). Quiero verificar que la cantidad ingresada en un cuadro de texto sea un valor negativo, por lo que tengo esto en el marcado de mi página:

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

e intento establecer el valor mínimo dinámicamente en mi código antes de que la página se presente, al equivalente negativo del precio de mi artículo. Entonces, si el artículo cuesta $ 69, quiero establecer el valor mínimo en $ 69:

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

El problema es: sigo recibiendo este mensaje de error:

El valor máximo 0.0 no puede ser menor que el valor mínimo -69.00 para RVDiscount

Wtf?!?! ??! De donde vengo, -69 $ ES Menos de $ 0 ...... Entonces, ¿cuál es el problema?

Y más importante: ¿Qué es el solución al problema ??

¿Fue útil?

Solución

No está tratando de hacer matemáticas, está haciendo una comparación de cuerdas porque no lo ha dicho lo contrario. Intente agregar este atributo:

Type="Double"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top