DataFormatString ASP.NET MVC и input type = "number" не принимает запятую
Вопрос вроде бы простой, мне известно, что input type Number принимает точку и игнорирует запятую, но у меня проблема в следующем: Модель в ASP.NET MVC:
{
public class EditMaterial
{
public long rowid { get; set; }
[Display(Name = "Смена 3, т.")]
[DisplayFormat(DataFormatString = "{0:F3}")]
public double smena3 { get; set; }
}
}
Как видно используется форматирование в String типа double с тремя знаками после разделителя (нужно именно так), но по факту с моими региональными настройками получаем разделитель запятую, а не точку. В дальнейшем форма типа number не принимает эти данные и форма остаётся пустой.
<div class="form-group">
@Html.LabelFor(model => model.smena3, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.smena3, new { htmlAttributes = new { @class = "form-control", @type = "number", @min = "0", @step = "0.001" } })
@Html.ValidationMessageFor(model => model.smena3, "", new { @class = "text-danger" })
</div>
</div>
Как решить эту проблему, не изменяя тип данных double в модели?
Ответы (1 шт):
Автор решения: Александр Щучко
→ Ссылка
Можно изменить региональные настройки для одной страницы, для этого в контроллере, который вызывает необходимую страницу нужно прописать:
CultureInfo.CurrentCulture = new CultureInfo("en-US");