2017-01-23 3 views
0

Ich versuche, einen Standardwert für meine Nummer Eingabe-Tag festzulegen. Hier ist der Code:MVC5, Html-Eingangsnummer, kann den Standard-Dezimalwert nicht festlegen

<input id="discount-input" type="number" step="any" [email protected] /> 

Model.OrderDiscount ist eine Dezimalzahl, dass hält 2,00. Wenn ich den Code ausführe, ist das Eingabefeld leer. Ich versuchte eine andere Variable von Model, und das hat gut funktioniert. Das war eine Ganzzahl, also habe ich auch value=2.00 fest codiert. Ich habe auch alle verschiedenen Kombinationen mit step = "0.01", step = "0.1", step = "1" und step = "any" mit dem gleichen Ergebnis ausprobiert.

Ich weiß, dass Sie denken, dass OrderDiscount nur leer sein müssen, aber nein! Ich habe 10 mal mit dem Debugger gecheckt. Was ist los?

Edit: Ich versuchte ein anderes Feld auf Model, das auch einen Dezimalwert enthielt. Weder das wurde angezeigt. Es scheint, als könnte ich keine Variable verwenden, um einen Standard-Dezimalwert festzulegen.

Antwort

4

Try doppelte Anführungszeichen um den Wert hinzufügen und auch sicherstellen, dass Ihr Dezimaltrennzeichens . ist statt ,:

<input id="discount-input" type="number" step="any" value="@Model.OrderDiscount.ToString(CultureInfo.InvariantCulture)" /> 
+0

Ich habe, habe ich das gleiche Ergebnis. – hellogoodnight

+0

sollte es funktionieren, wenn Sie das richtige Markup generieren: https://jsfiddle.net/sa76v2xy/ –

+0

Stellen Sie sicher, dass Sie das richtige Dezimaltrennzeichen im Markup haben: '0.2' und nicht' 0,2'. Ich habe meine Antwort aktualisiert, um das zu veranschaulichen. –

Verwandte Themen