Bil*_*ill 2 c# asp.net-mvc entity-framework razor
我有一个属性:
public decimal myProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)
这是我的渲染:
@Html.TextBoxFor(m => m.myProperty , new { @class = "percentage" })
Run Code Online (Sandbox Code Playgroud)
我该如何做百分比?
您可以使用[DisplayFormat]允许您指定格式的属性来装饰视图模型属性:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:P2}")]
public decimal myProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)
在你看来:
@Html.EditorFor(x => x.myProperty)
Run Code Online (Sandbox Code Playgroud)
但要小心,因为DisplayFormat属性(顾名思义)仅用于显示目的.默认模型绑定器不使用它.因此,当用户通过发布表单提交此值时,您将获得验证错误,因为例如0.45%不是有效的十进制值.我已经说明了this post如何定义自定义模型绑定器,它将在绑定值时使用DisplayFormat属性定义的格式.
| 归档时间: |
|
| 查看次数: |
8865 次 |
| 最近记录: |