服务器和ASP.Net MVC客户端之间的不同双数格式

时间:2016-03-24 03:07:35

标签: c# asp.net-mvc razor unobtrusive-validation

我的模型中有两个属性,定义为double类型。

public double MapLatitude { get; set; }
public double MapLongitude { get; set; }

我使用以下Razor语法在我的MVC视图中显示它们:

<div class="form-group">
    @Html.LabelFor(model => model.MapLatitude, htmlAttributes: new { @class = "control-label" })
    @Html.EditorFor(model => model.MapLatitude, new { htmlAttributes = new { @class = "form-control" } })
    @Html.ValidationMessageFor(model => model.MapLatitude, "", new { @class = "text-danger" })
</div>
<div class="form-group">
    @Html.LabelFor(model => model.MapLongitude, htmlAttributes: new { @class = "control-label" })
    @Html.EditorFor(model => model.MapLongitude, new { htmlAttributes = new { @class = "form-control" } })
    @Html.ValidationMessageFor(model => model.MapLongitude, "", new { @class = "text-danger" })
</div>

在数据库(SQL表)中,列被定义为&#34; float&#34;,其中值分别为-33.9381288和18.8608831。

从服务器请求页面时,值显示如下: Initial Display on Page Load

请注意逗号。

当我将页面发布回服务器而没有任何编辑时,客户端验证会停止回发(使用F12开发工具确认),并显示如下: Save without editing values

当我编辑值以用,替换.时,客户端验证通过,我可以发布到服务器。

但是,然后我得到以下服务器端验证失败: Server validation result

请帮助我了解这里发生了什么?我该如何解决这个问题?

0 个答案:

没有答案