У меня есть приложение MVC Web-API для внутреннего использования. У меня есть несколько страниц с формами и числовыми полями. Мне нужно установить это на немецком компьютере, и пользователи будут только немцами. В Германии они пишут «3,5» вместо «3,5» (с запятой).Немецкая культура - получите двойной номер от JSON с запятой
В конфигурации IIS культура является «инвариантной культурой», а поскольку компьютер является немецким - локализация - «de-DE».
Когда пользователи пишут «3,5» в поле - я вижу в firebug, что «3,5» - это то, что отправлено в JSON, но сервер получает его как «35».
Могу ли я обработать его на стороне сервера? (Я не хочу, чтобы изменить JSON, потому что мне нужно сделать это в каждой области и страницы)
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
public class ItemsController : ApiController, IDisposable
{
[Authorize(Roles = "Admin")]
[HttpPost]
public HttpResponseMessage UpdateItem(ItemViewModel itemVM)
{
// JSON data sent data.NumProp1 = "3,5"
// itemVM.NumProp1 contains "35" instead of "3.5"
}
}
Номера JSON не должны быть локализованы. Вы должны либо интерпретировать пользовательский вход на стороне клиента, либо отправить фактический номер (который использует '.'), либо включить пользовательский ввод в виде строки и интерпретировать его на стороне сервера. – Timo