我有一个由WCF服务管理的实体,因此该实体是通过服务引用生成的,因此我无法对其进行注释以指定数据格式。 它是十进制的,必须格式化为6位小数。 如何在MVC3中,在显示和编辑器中完成此操作?
在显示中我可以使用
@Html.Display(format("{0:f4}", model.MyField))
它不是很优雅,但它是可行的。 但是,如何使用4位小数格式化编辑器呢?
编辑:
我发现this回答了一个类似的问题,但它在行中给出了错误
return html.TextBox(name, value, htmlAttributes);
知道怎么解决吗?
由于
答案 0 :(得分:3)
这是一种更简单的语法:
@Html.Display(model.MyField.ToString("f4"))
如果您想在可编辑的文本框中显示它,您可以这样做:
@Html.TextBox("myField", model.MyField.ToString("f4"))
显然,这不强制客户端使用4位小数,但它最初显示4位小数。
[编辑] :响应您的修改:That question's“已接受”答案显然无法编译,评论也表明了这一点。
看一下Gaz's answer因为它修复了编译错误并且看起来很有效。
答案 1 :(得分:3)
我设法如下:
用于显示我用过
@string.Format("{0:f4}", Model.KPINumber)
用于编辑我用
@Html.TextBox("KPINumber", string.Format("{0:f4}", Model.KPINumber))