【发布时间】:2022-01-13 17:15:07
【问题描述】:
我在处理十进制数时遇到了 C# Asp.Net 中的 Bind 函数问题。当值绑定到对象时,小数分隔符被删除。
例如:
- 用户输入:7,5
- HTTP-Post(由浏览器报告):7.5
- 绑定值:75
因为这可能是相关的:我来自德国,因此在所有应用程序中都将德语作为语言设置。我在代码中没有在这方面进行任何更改。
我已经尝试过不同的数据类型和 HTML 输入类型。 关于如何解决这个问题的任何想法?
这是我的代码。
public class ExampleClass
{
public int id { get; set; }
public string Name { get; set;}
public double Number { get; set; }
}
<form asp-action="Create">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Name" class="control-label"></label>
<input asp-for="Name" class="form-control" />
<span asp-validation-for="Name" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Number" class="control-label"></label>
<input asp-for="Number" type ="number" min="0" max="100" class="form-control" />
<span asp-validation-for="Number" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
</form>
已使用实体框架迁移创建数据库,这导致相关列的“浮动”类型。
【问题讨论】:
-
数据库中存储了什么?
-
您的输入是否允许使用小数分隔符?见stackoverflow.com/a/34057860/3279876
-
@PriyankPanchal 没有小数点分隔符的值。在示例中,将存储 75 个。
标签: c# asp.net-mvc asp.net-core