В настоящее время я перемещаю свой веб-сайт с существующего веб-сервера на новую машину.
Новая машина - это ВЫИГРЫШ Sever 2003, работающий под управлением IIS6. Сайт использует ASP.Net 2.
Я добавил следующее в раздел <system.web>
моего файла machine.config, чтобы веб-сайт и любые будущие сайты использовали региональные настройки для Южной Африки вместо настроек по умолчанию для США.
<globalization culture="en-ZA" uiCulture="en-ZA"/>
Это в основном сработало - символы валюты изменились с $ на R, как и должны, но у меня есть столбец в представлении сетки (связанное поле - тип БД - деньги), который установлен следующим образом:
DataFormatString="{0:c}"
[Редактировать] - пробовал это с {0:C}, а также в соответствии с предложением Ричарда ниже: все равно не повезло
Это по-прежнему возвращает 10000.0000 вместо 10 000,00 рэндов, как это было на моем старом сервере.
Есть идеи, как это исправить?
Спасибо!
[Изменить]. Я начинаю думать, что это имеет мало общего с фактическими настройками культуры.
У меня есть другая форма, где она отлично работает:
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Balance", "{0:c}") %>'></asp:Label>
</ItemTemplate>
Форма, которая не работает, использует вид сетки без шаблона:
<asp:BoundField DataField="Amount" HeaderText="Amount" SortExpression="Amount" DataFormatString="{0:C}" >
<ItemStyle CssClass="al-r" />
</asp:BoundField>