Некорректная работа input type="number" в ASP.NET Core

столкнулся с проблемой. Есть форма, в которой присутствует следующий input:

<div class="form-group">
    <label asp-for="TaxRatio" class="col-md-12">Налоговый коэффициент</label>
    <div class="col-md-12">
         <input asp-for="TaxRatio" step="0.01" min="0" type="number" 
                class="form-control form-control-line">
    </div>
</div>

И также ViewModel, которая сохраняет в себе значения этой формы

public double TaxRatio { get; set; }

Суть проблемы: при вводе в форму дробных значений в модель приходит 0 (как с разделителем точкой, так и запятой). Однако при вводе целочисленных значений - все работает корректно. Как с этим бороться?


Ответы (1 шт):

Автор решения: Dev18

комментарий ТС

Нашел решение: stackoverflow.com/questions/65658246/… Видимо пока что это единственный способ

Источник на en.SO

В моей модели:

public decimal MyDecimal { get; set; }
[Range(1, 100)]
[DataType(DataType.Currency)]
[Column(TypeName = "decimal(18, 2)")]
public string MyDecimal_string { get; set; }

В моем .cshtml-файле:

<input asp-for="MyDecimal_string" step="0.01" type="number" class="form-control" />

В моем .CS-файле я преобразую MyDecimal_string в десятичную систему счисления:

Mydecimal = decimal.Parse(MyDecimal_string, CultureInfo.InvariantCulture);

Я использую .NET 5

→ Ссылка