当我使用Html.EditorFor
方法时,如mvc5中那样:
@Html.EditorFor(model => model.RateHigh, new { htmlAttributes = new { @class = "form-control" } })
我得到了这样的好HTML:
<input class="form-control text-box single-line" data-val="true" data-val-number="The field tarief verbruik must be a number." data-val-required="'tarief verbruik' is een verplicht veld" id="RateNormal" name="RateNormal" type="text" value="0,15">
现在我想用4位小数显示值,我发现这样做的唯一方法是创建editor template
,这是正确的吗?
现在我的问题是:我是否必须在编辑器模板中输入所有验证属性和额外的类名(因为我从头开始)?
这看起来有点不合逻辑,因为当asp.net mvc团队决定生成不同的html时,我也必须更改所有的editortemplates。
所以我正在寻找标准代码中的一种“钩子”,我可以说:我想要@Html.EditorFor
的所有html,然后将值格式化为4位小数。
有办法做到这一点吗?
(所以我想要生成的是:
<input class="form-control text-box single-line" data-val="true" data-val-number="The field tarief verbruik must be a number." data-val-required="'tarief verbruik' is een verplicht veld" id="RateNormal" name="RateNormal" type="text" value="0,1500">
答案 0 :(得分:2)
您可以使用数据注释在模型中定义它。
检查此链接What is the proper data annotation to format my decimal property?
[DisplayFormat(DataFormatString="{0:#.####}")]
请参阅格式的自定义格式字符串和示例的DisplayFormatAttribute