无法在 ASP.NET MVC 中发布小数

问题描述 投票:0回答:1

当我提交表格时,以小数形式输入的动物重量将作为整数发布。

4.5 或 4,5 型号为 45。

我不知道该怎么办,请大家帮帮我。

这是实体类:

public partial class animal
{
    public double animalWeight { get; set; }
}

这就是观点:

<label asp-for="animalWeight" class="row-sm-2 col-form-label">Animal Weight</label>
<input type="number" asp-for="HayvanKilo" class="form-control" placeholder="Animal Weight" step="0.1">
</input>

<div class="mt-2">
    <span class="font-weight-bold text-danger bg-light text-danger rounded" asp-validation-for="animalWeight">
    </span>
</div>
asp.net-mvc post decimal
1个回答
0
投票

当我提交表格时,以小数形式输入的动物重量为 以整数形式发布。

4.5 或 4,5 型号为 45。

我不知道该怎么办,请大家帮帮我。

根据您共享的代码,我发现了一些不一致之处,这可能是导致整个号码发布的原因。

首先,您的共享代码显示您的属性名称是

animalWeight
类中的
animal
。但是,从您的角度来看,您正在通过
asp-for="HayvanKilo"
,这是不正确的。不知道是不是错别字。

除此之外,某些浏览器也可能由于文化设置

而导致该问题

我已经进行了如下测试,并得到了您正在寻找的预期输出。

班级:

public partial  class Animal
{
    public decimal AnimalWeight { get; set; }
}

控制器:

public class DecimalController : Controller
{
  
    public IActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public IActionResult Index(Animal animal)
    {
        
        ViewBag.Message = $"Animal Weight: {animal.AnimalWeight}";
        return View(animal);
    }
}

查看:

@model CustomerManagementTool.Models.Animal

<h2>Enter Animal Weight</h2>
        <form asp-action="Index" method="post">
            <div class="form-group">
                <label asp-for="AnimalWeight" class="control-label">Animal Weight</label>
                <input type="number" asp-for="AnimalWeight" class="form-control" step="0.1" />
                <span asp-validation-for="AnimalWeight" class="text-danger"></span>
            </div>
            <button type="submit" class="btn btn-primary">Submit</button>
        </form>

输出:

enter image description here

enter image description here

注意:如果您分享了您的完整视图,那么帮助您会更容易。因此,请检查属性和 CultureInfo.InvariantCulture 设置。另外,你也可以参考这个帖子

© www.soinside.com 2019 - 2024. All rights reserved.