MVC アプリケーションのカミソリ ビューで、null 許容の 10 進数フィールドを通貨 (ドル記号とカンマを使用) としてフォーマットする方法を教えてください。以下は私のモーダルとビューのコードです。
モデル:
[Display(Name = "Eligible Amount")]
[RequiredIfProjectEngineerSelected("ProjectEngineerId", "", ErrorMessage = "Eligible Amount field is Required")]
[DisplayFormat(DataFormatString = "{0:c}")]
public decimal? EligibleAmount { get; set; }
ビュー:
@{var formated = String.Format("{0:c}", decimal)decimal.Parse(@Model.project.ProjectTotalCost.HasValue ? @Model.project.ProjectTotalCost.Value.ToString() : ""));}
@Html.TextBoxFor(model => model.project.ProjectTotalCost, new { @Value = formatted})
TextBoxFor コントロールに書式設定された通貨値を表示しています。しかし、ここで直面している問題は、値を更新しようとすると、「値がフォーマットと一致しません」という検証エラーが発生することです。