Como renderizo apenas alguns campos-modelo específicos com uma InvariantCulture, enquanto o restante continua usando a cultura dos usuários?

Eu tenho algumas entradas ocultas em uma exibição asp.net mvc. Seus valores contêm objetos do tipodouble. Eu quero que eles sejam renderizados com oInvariantCulture como eles são usados para serem alimentados a uma API (google maps) no cliente. No momento, eles são renderizados com uma vírgula (,) como separador decimal, enquanto a API espera um ponto (.) Como separador decimal.

A melhor solução seria se eu pudesse especificar uma cultura noDisplayFormat atributo de anotação de dados na propriedade do modelo, mas não acho que isso seja possível:

public class Position
{
    [DisplayFormat(DataFormatString="{0:G}, CultureInfo.InvariantCulture")]
    public double Latitude;
    ...
}

Também não posso simplesmente definir oCurrentCulture paraInvariantCulture no meuApplication_Start, pois há outros valores na tela que precisam estar na cultura apropriada do usuári

Então, existe uma maneira de alterar temporariamente a cultura atual, pouco antes de eu fazer umaHtml.HiddenFor(Model => Model.Latitude) para essa propriedade específica e depois redefina-a depois?

Ou existe outra maneira melhor de fazer isso? O que é considerado uma boa prática para isso?

questionAnswers(3)

yourAnswerToTheQuestion