【发布时间】:2014-12-02 03:45:52
【问题描述】:
好的,我整天都在为这个简单的任务寻找解决方案。
我有一个 mvc 模型类,它有一个 BIC 属性和一个 NationalNumber 属性。麻烦的是 string 值。 我想使用 DisplayFor 助手在视图 BUT 上呈现属性,并应用格式。
为了完整性:NationalNumber 的格式是 '00.00.00-000.00' ,BIC 的格式是 AAAA BB CC
我尝试使用 DisplayFormat 属性注释我的属性,但这似乎只适用于日期时间、数值等......
[DisplayFormat(DataFormatString = "{0:##.##.##-###.##}")]
然后我查看了creating a custom DisplayFormat attribute,但这也适用于适用于日期时间、数值等的模式。您仍然需要在自定义属性的构造函数中提供 DataFormatString 值.但是过滤器似乎不适用于字符串!
目前我最终做了标记客户端(使用掩码插件),但这并不是我真正想要的!
总结一下:我想使用@Html.DisplayFor(x=>x.BicNumber) 并使用自定义格式渲染它,最好在我的视图模型上进行注释,BicNumber 是一个字符串。
提前致谢
【问题讨论】:
-
您是否也检查过 MSDN 文档? msdn.microsoft.com/en-us/library/…
-
您是否尝试在模型中创建属性以正确格式返回这些字段?
-
@DJKRAZE 这不是重复的。
DisplayFormat从来没有为字符串工作过。 -
它被标记为可能重复而不是明确重复。我也不确定为什么操作不能使用 string.format 函数和
string.Format("{0:##.##.##-###.##}", what ever value needs to be formatted)
标签: c# asp.net-mvc model-view-controller string-formatting displayformat