【问题标题】: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

    【讨论】:

      猜你喜欢
      • 2018-07-08
      • 2019-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-24
      相关资源
      最近更新 更多