Dans mon site ASP.MVC 2.0 Je le paramètre suivant dans web.config:Pourquoi Html.DisplayFor et .ToString ("C2") ne respectent pas CurrentUICulture?
<globalization uiCulture="da-DK" culture="en-US" />
Lorsque je tente d'afficher une quantité dans une vue à l'aide Html.DisplayFor() ou ToString ("C2") I s'attend à recevoir "kr. 3.500,00" (uiCulture) et non "$ 3.500.00" (culture).
<%:Html.DisplayFor(posting => posting.Amount)%>
<%:Model.Amount.ToString("C2")%>
Si je explicite utilise CurrentUICulture informations qu'il fonctionne comme prévu, mais je ne veux pas faire cela chaque fois que je dois afficher un numéro, la date ou décimal. Et j'aime aussi utiliser DisplayFor, qui ne supporte pas le paramètre IFormatProvider.
<%:Model.Amount.ToString("C2", System.Globalization.CultureInfo.CurrentUICulture)%>
Comment puis-je modifier la mise en forme sans modifier la culture du système?
Cela fonctionne dans Azure, et si je change la culture en "da-DK" tous les points décimaux sont perdus, lors de l'enregistrement au stockage Azure Table! #BUG
Merci ... il s'est avéré que ma confusion est liée à un "gros" bogue dans Azure Developer Fabric. Si les paramètres régionaux utilisent une virgule comme point décimal 1000,95 sera enregistré en tant que 100095. Se: http://social.msdn.microsoft.com/Forums/en-US/windowsazuretroubleshooting/thread/f327944c-e18a-490a-aa25- 306f3c6a17de –
@Thomas: si vous stockez en interne ou si vous transférez vers un autre système (c'est-à-dire pas pour un utilisateur), utilisez toujours une culture invariante ou une autre norme indépendante des paramètres régionaux. – Richard