我有一个使用自定义弹出编辑器模板的简单网格。在模板中,我想使用数字文本框。
由于本地化,应用程序不断尝试使用逗号分隔数值中的小数。将这些值传递给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