【问题标题】:ASP.NET Core razor decimal in form value not valid表单值中的 ASP.NET Core 剃刀十进制值无效
【发布时间】:2021-04-15 21:17:42
【问题描述】:
在我的模型中:
[Range(1, 100)]
[DataType(DataType.Currency)]
[Column(TypeName = "decimal(18, 2)")]
public decimal MyDecimal { get; set; }
在我的 cshtml 文件中:
<input asp-for="MyModel.MyDecimal" class="form-control" step="0.01" type="number" value="0.00" />
它不起作用:该值不是数字。
【问题讨论】:
标签:
c#
forms
asp.net-core
decimal
【解决方案1】:
在我的模型中:
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