c# - 当浏览器不在英语操作系统上时如何从数据库中提取正确的十进制格式
问题描述
默认 EditorFor() 将输入字段声明为文本并从数据库中加载值,但使用逗号作为分隔符显示它,因为浏览器在非美国版本的 Windows 上运行,并且在验证表单时它在该字段上失败如果它没有被改变和/或有人用逗号而不是点键入十进制数。
如果我将该字段定义为数字,我会在控制台中收到警告:
@Html.EditorFor(m => m.DecimalNumber, new { htmlAttributes = new { @class = "form-control", @type="number" } })
给
jquery-3.4.1.js:4817 The specified value "0,00" is not a valid number. The value must match to the following regular expression: -?(\d+|\d+\.\d+|\.\d+)([eE][-+]?\d+)?
数据库中的数字是正确的小数(18, 4),使用实体框架6它也在模型中设置,我没有设置Web.Config全球化设置,我不知道点变成了什么昏迷。我可以输入带有点或逗号作为分隔符的十进制数字,并且 jquery validate 对其中任何一个都很满意。
表单加载时如何获取字段中加载的值?我尝试在 Editor 构造函数中添加 @lang="en" 属性,但也没有任何区别。
解决方案
推荐阅读
- python - ImportError:无法从“sklearn.utils.fixes”导入名称“_object_dtype_isnan”
- python - 将希伯来语单词写入pdf文件
- angular - 无法使用 angular-oidc 令牌访问 Microsoft 图形端点
- python - 带有 plot_surface 的函数动画不绘图,只给出第一张图片
- javascript - Vue-Router 显示组件两次,控制台警告,网络无限请求
- c++ - 使用 opencv 和 c++ 进行推理的多个 ONNX 模型
- python-3.8 - 如何在 Python 中截断一个大整数?
- elasticsearch - 关闭索引并从快照弹性搜索恢复的优势
- excel - 如何自动使 Excel 单元格等于 Project 单元格?
- python - 针对两个不同维度的数组运行序列 np.isclose,如何从布尔数组中获取值