DisplayFormat nicht immer angewendet auf Dezimalwert

Habe ich ein Modell Eigenschaft, die ich versuche zu Rendern, mit einem "EditorFor" - Vorlage, und ich bin versucht zu formatieren mit dem DisplayFormat Attribut. Es ist jedoch überhaupt nicht-es ist völlig wird ignoriert.

Hier ist meine Vorlage:

@model System.Decimal?
@Html.TextBoxFor(m => m)

Hier ist mein Modell:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:0.00}")]
public decimal? Retail { get; set; }

Hier ist meine Ansicht:

@Html.EditorFor(m => m.Retail)

Aber es rendering eine textbox mit dem folgenden Wert:

189.9900

Es scheint ziemlich geradlinig, aber es funktioniert nicht, und ich habe keine Ahnung, warum.

UPDATE:
Nur für den Kick, versuchte ich es mit einer DisplayFor Vorlage, und es funktionierte:

@Html.DisplayFor(m => m.Retail)

Also warum sollte die DisplayFor Vorlage arbeiten, aber nicht die "EditorFor" Vorlage, wenn ich eingestellt habe ApplyFormatInEditMode zu wahren?

UPDATE 2:
Egal, der Grund dafür, dass gearbeitet wird, weil meine Anzeige von Dezimalstellen Vorlage war hart-kodierten format, die Art und Weise. Also mein display template funktioniert auch nicht.

  • Haben Sie versucht, die @Html.EditorForModel() im template?
  • Ja, das nur entfernt das Textfeld zusammen.
InformationsquelleAutor Jerad Rose | 2011-10-20
Schreibe einen Kommentar