简体   繁体   English

无法识别十进制 ASP.NET

[英]Decimal not recognized ASP.NET

I'm trying to insert a decimal number in one form but with no success.我正在尝试以一种形式插入十进制数,但没有成功。 Everytime, I get this:每次,我都会得到这个:

错误

My entity is declared like this:我的实体声明如下:

public class Serie
{
    public int Id { get; set; }
    public string Name { get; set; }

    [RegularExpression(@"^\d+\.\d{0,2}$")]
    [Range(0, 9999999999999999.99)]
    public decimal Price { get; set; }
    public string Description { get; set; }
    public List<Season> Seasons { get; set; }
    public List<Rental> Rentals { get; set; }
    public List<Assessment> Assessments { get; set; }

}

On my razor page I have this on html side:在我的 razor 页面上,我在 html 方面有这个:

@page
@model Shows4All.Pages.Series.CreateModel

@{
    ViewData["Title"] = "Create";
}

<h1>Create</h1>

<h4>Serie</h4>
<hr />
<div class="row">
    <div class="col-md-4">
        <form method="post">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <div class="form-group">
                <label asp-for="Serie.Name" class="control-label"></label>
                <input asp-for="Serie.Name" class="form-control" />
                <span asp-validation-for="Serie.Name" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="Serie.Price" class="control-label"></label>
                <input type="number" asp-for="Serie.Price" class="form-control" />
                <span asp-validation-for="Serie.Price" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="Serie.Description" class="control-label"></label>
                <input asp-for="Serie.Description" class="form-control" />
                <span asp-validation-for="Serie.Description" class="text-danger"></span>
            </div>
            <div class="form-group">
                <input type="submit" value="Create" class="btn btn-primary" />
            </div>
        </form>
    </div>
</div>

<div>
    <a asp-page="Index">Back to List</a>
</div>

@section Scripts {
    @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}

I already tried without Data annotation and withou type="number" on html side...but it doesn't work.我已经尝试过在 html 端没有数据注释和没有 type="number" ......但它不起作用。 Any idea how can it be solved?知道如何解决吗?

Try to add locale configuration in your aspet.config file like this:尝试在 aspet.config 文件中添加语言环境配置,如下所示:

  <configuration> 
      <system.web>
          <globalization culture ="en-US" />
      </system.web>
  </configuration> 

If didn't work, try remove the Regex attribute and test it again.如果不起作用,请尝试删除 Regex 属性并再次测试。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM