J'ai posté une valeur de forme décimale dans InvariantCulture (16.4) et j'ai été surpris qu'il ne soit pas arrivé au modèle sur mon système allemand.Quelle langue est utilisée pour mapper les paramètres à modéliser?
Je devais utiliser le format allemand (16,4). Est-il possible de configurer la langue utilisée pour l'analyse des paramètres?
EDIT: Après le débogage dans le code source a trouvé les parties spécifiques de langue dans ValueProviderDictionary
PopulateDictionary. La documentation y lit:
- Demande de soumission de formulaire (doit être conscient de la culture)
- Valeurs de la RouteData (peut-être à partir de l'URL tapé dans ou à partir des valeurs par défaut de l'itinéraire) URI
- chaîne de requête
1.takes CurrentCulture 2./3. prendre InvariantCulture
Cela ne fonctionne pas pour moi: je ne m'attendrais pas à un comportement différent en ce qui concerne l'utilisation de Culture si je poste une valeur ou la mets dans la chaîne de requête. Il peut être nécessaire si l'utilisateur remplit manuellement les valeurs analysables, mais c'est étrange si vous remplissez les valeurs d'une Listbox. Je pense que la solution idéale serait, si je pouvais passer d'une version à l'autre.
Quoi qu'il en soit, je devais trouver un moyen maintenant de définir CultureInfo.CurrentCulture avant que PopulateDictionary soit appelé. Voici comment je l'ai fait:
void Application_BeginRequest(object sender, EventArgs e)
{
Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
}