asp.net在表单请求后错误地将十进制数转换为百位



我已经创建了一个MVC项目,并在html代码中有一个表单的输入字段类型="number",每当我插入一个十进制值(即:10.4),我发布表单到c#控制器API(通过一个命令IRequest参数),十进制值自动转换为一个整数,基本上删除点(即:10.4变成104)。为什么呢?我有什么办法能修好它吗?

编辑:我使用的代码示例:

在View文件中,表单是:

<form>
...
<input type="number" asp-for="ModelFieldName" />
</form>

而在c#控制器中,我使用这个方法:

[HttpPost]
public async Task<ActionResult> FormApi([FromQuery] GetFormEntity Query query, UpdateFormEntityCommand command) {
....
await Mediator.Send(command);
var model = await Mediator.Send(query);
return await View("...", model);
}

基本上当表单提交Post方法调用和数据传递给UpdateFormEntityCommand IRequest型和处理更新底层实体,问题是,每一个十进制值由客户机(web页面)发送正确(我查了Chrome开发工具和发送是正确的价值点)获得点完全删除(我检查使用调试器和命令中的值参数已经错了)。

我在这个项目中也使用了jquery,所以可能是它造成了这个问题,但我不认为是这样的。

需要设置步骤属性为any。默认为1,它只允许整数。

<Input type="number" step="any">

相关内容

  • 没有找到相关文章

最新更新