我需要帮助在 mvc 应用程序的 razor 视图中将可为空的十进制字段格式化为货币(带有美元符号和逗号)。下面是我的模态和视图代码。
型号:
[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 控件中显示格式化的货币值。但是我在这里面临的问题是,当我尝试更新值时,出现验证错误,提示“值与格式不匹配”。