每个项目具有不同文化的中继器

时间:2011-12-19 11:56:00

标签: asp.net repeater culture

我有一个显示定价的转发器控件,应根据特定人的国家/地区显示货币符号。

一般来说,我只会这样做:

<%# DataBinder.Eval(Container.DataItem, "CheapestLesson", "{0:C}")

然而,这将采用当前页面文化。在处理onItemDataBound事件时有没有办法覆盖文化?

1 个答案:

答案 0 :(得分:2)

如果使用String.Format的{​​{1}},则可以在格式化字符串时指定其他文化:

<%# String.Format(new CultureInfo("en-US"), "{0:C}", DataBinder.Eval(Container.DataItem, "CheapestLesson")) %>

所有CultureInfo个对象都实现了IFormatProvider接口,因此如果您使用String.Format的此重载,则可以使用特定区域性格式覆盖当前区域性格式。