RangeValidator Währung Wert nicht enthält mehr als 2 Ziffern nach dezimal?
Framework 4.0 Asp.net Anwendung
Wenn ich den code ausführen bekam ich eine Fehlermeldung "Der Wert '999.9999' der MaximumValue Eigenschaft der "RangeValidator" kann nicht umgewandelt werden zum Typ "Währung".
Unten ist mein code:
<asp:RangeValidator Runat='server' ControlToValidate='textEdit'
MinimumValue='0.0001'
MaximumValue='999.9999' Type='Currency'
ErrorMessage='Should be between 0.0001 and 999.9999' id="idValidtor"
display='None' />
Bitte erklären Sie mir, ist die Währung Wert nicht enthält mehr als 2 Ziffern nach dezimal?
Es sei denn, wie kann ich dieses Problem beheben?
- poste bitte den code, den Sie verwendet, um zu konvertieren Währung?
- <asp:RangeValidator Runat= "server" ControlToValidate='textEdit' MinimumValue='0.0001' MaximumValue='999.9999' Type='Währung' ErrorMessage='Sollte zwischen 0,0001 und 999.9999' id="idValidtor" display='None' />
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
RangeValidator
verwendet dieNumberFormatInfo.CurrencyDecimalDigits
- Eigenschaft, um zu bestimmen, ob der string konvertiert werden kann, eine Währung, sonst wird es eine exception auslösen. Von MSDN:Die Standardeinstellung für die meisten Kulturen (inkl.
InvariantCulture
) 2 (in den arabischen Ländern haben die 3 aber keine 4).So, was Kultur verwenden Sie? Wenn es wichtig ist, zu speichern mehr Dezimalstellen als zwei in einer Währung haben, dann könnten Sie eine benutzerdefinierte
NumberFormatInfo
auf dieser Seite:(beachten Sie, dass Sie brauchen, um hinzuzufügen
using System.Globalization;
oben)