Некорректная работа 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/… Видимо пока что это единственный способ
В моей модели:
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