У меня есть пара скрытых входных данных в представлении asp.net mvc. Их значения содержат объекты типа ] double
. Я хочу, чтобы они отображались с помощью InvariantCulture
, поскольку они используются для передачи в api (карты Google) на клиенте. В настоящее время они отображаются с запятой. (,) как десятичный разделитель, в то время как api ожидает точку (.) в качестве десятичного разделителя.
Лучшим решением было бы, если бы я мог указать язык и региональные параметры в атрибуте аннотации данных DisplayFormat
в свойстве модели, но я этого не делаю. Думаю, что это возможно:
public class Position
{
[DisplayFormat(DataFormatString="{0:G}, CultureInfo.InvariantCulture")]
public double Latitude;
...
}
Я также не могу просто установить CurrentCulture
на InvariantCulture
в моем методе Application_Start
, так как в методе screen, который должен соответствовать правильной культуре пользователя.
Итак, есть ли способ просто временно изменить текущую культуру, прямо перед тем, как я сделаю Html.HiddenFor (Model => Model.Latitude)
для этого конкретного свойства, а потом сбросить его?
Или есть другой лучший способ сделать это? Что считается наилучшей практикой в этом отношении?