我有一个显示定价的转发器控件,应根据特定人的国家/地区显示货币符号。
一般来说,我只会这样做:
<%# DataBinder.Eval(Container.DataItem, "CheapestLesson", "{0:C}")
然而,这将采用当前页面文化。在处理onItemDataBound事件时有没有办法覆盖文化?
答案 0 :(得分:2)
如果使用String.Format
的{{1}},则可以在格式化字符串时指定其他文化:
<%# String.Format(new CultureInfo("en-US"), "{0:C}", DataBinder.Eval(Container.DataItem, "CheapestLesson")) %>
所有CultureInfo
个对象都实现了IFormatProvider
接口,因此如果您使用String.Format
的此重载,则可以使用特定区域性格式覆盖当前区域性格式。