当我提交表格时,以小数形式输入的动物重量将作为整数发布。
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>
当我提交表格时,以小数形式输入的动物重量为 以整数形式发布。
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>
输出:
注意:如果您分享了您的完整视图,那么帮助您会更容易。因此,请检查属性和 CultureInfo.InvariantCulture 设置。另外,你也可以参考这个帖子。