如何确保Kendo Grid使用正确的分隔符将数值传递给ASP.NET MVC?

时间:2015-06-02 12:47:06

标签: kendo-grid kendo-asp.net-mvc kendonumerictextbox

我有一个使用自定义弹出编辑器模板的简单网格。在模板中,我想使用数字文本框。

由于本地化,应用程序不断尝试使用逗号分隔数值中的小数。将这些值传递给ASP.NET MVC后端时,该值将丢失并传递null。如何确保发布的值具有句点分隔符?

我尝试在网格的保存事件中将基础字段值设置为2.5而不是2.5,并尝试将e.model.WeightKg覆盖为2.5。该值仍然使用逗号分隔符传递,如检查请求中的表单数据所示。

我的网格:

@(Html.Kendo().Grid<PackageViewModel>()
    .Name("PackageGrid")
    .Columns(columns => {
        columns.Bound(o => o.PackageCode);
        columns.Bound(o => o.WeightKg);
        columns.Command(o => o.Edit());
    })
    .DataSource(d => d
        .WebApi()
        .Model(m => m.Id(o => o.PackageCode))
        .Read(c => c.Url(Url.HttpRouteUrl("DefaultApi", new { controller = "Packages" })))
        .Create(c => c.Url(Url.HttpRouteUrl("DefaultApi", new { controller = "Packages" })))
        .Destroy(c => c.Url(Url.HttpRouteUrl("DefaultApi", new { controller = "Packages" id = "{0}" })))
        .Update(c => c.Url(Url.HttpRouteUrl("DefaultApi", new { controller = "Packages" id = "{0}" })))
        .PageSize(20)
    )
    .Editable(e => e.Mode(GridEditMode.PopUp).TemplateName("Package"))
    .Selectable()
    .Deferred()
)

模板中的数字文本框:

@Html.Kendo().NumericTextBoxFor(m => m.WeightKg).Decimals(8)

最后,未解析的表单数据,然后是解析后的表单数据:

sort=&group=&filter=&PackageCode=DOOS-B&WeightKg=2%2C5

sort:
group:
filter:
PackageCode:DOOS-B
WeightKg:2,5

0 个答案:

没有答案