【发布时间】:2013-03-05 22:01:02
【问题描述】:
我需要帮助在 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 控件中显示格式化的货币值。但我在这里面临的问题是,当我尝试更新值时,出现验证错误,提示“值与格式不匹配”。
【问题讨论】:
-
如果说显示格式,需要
@model.EligibleAmount .ToString("c")
标签: asp.net asp.net-mvc-3 asp.net-mvc-4