EditorFor テンプレートを使用してレンダリングしようとしているモデル プロパティがあり、DisplayFormat 属性を使用して書式設定を適用しようとしています。しかし、まったく機能していません。完全に無視されています。
ここに私のテンプレートがあります:
@model System.Decimal?
@Html.TextBoxFor(m => m)
これが私のモデルです:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:0.00}")]
public decimal? Retail { get; set; }
これが私の見解です:
@Html.EditorFor(m => m.Retail)
しかし、次の値でテキストボックスをレンダリングしています:
189.9900
それはかなり簡単に思えますが、機能していません。その理由はわかりません。
更新: キックのために、DisplayFor テンプレートで試してみましたが、うまくいきました:
@Html.DisplayFor(m => m.Retail)
では、trueに設定した場合、DisplayFor テンプレートは機能するのに、EditorFor テンプレートは機能しないのはなぜでしょうApplyFormatInEditMode
か?
更新 2: 気にしないでください。機能した理由は、10 進表示テンプレートがそのようにフォーマットするようにハードコードされていたためです。したがって、私の表示テンプレートも機能しません。