【发布时间】:2012-12-13 05:50:28
【问题描述】:
假设我有如下注释
[DisplayFormat(DataFormatString = "{0:#.00#}", ApplyFormatInEditMode = true)]
效果很好。但是假设我想根据用户选择的某些应用程序设置实时替换 DataFormatString,即有时像这样 {0:#.00#} 有时是 {0:#.000#}。有没有办法做到这一点?
我尝试将格式字符串存储在全局变量中,但它给了我以下错误。
属性参数必须是常量表达式,typeof 表达式 或属性参数类型的数组创建表达式
如果我将全局变量设为常量,它可以工作,但目的就失去了。关于变通方法的任何建议?
基本上,我想为用户提供一个选项来通用设置小数位,而不必在每个视图/控制器的基础上实现该功能。
我知道我可以使用 NumberFormat.CurrencyDecimalDigits 来设置文化。但这会忽略小数点后的零。
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-3 data-annotations