Kendonumerictextbox ASP.NET MVC中的小数点值的问题



我有以下问题。使用波兰文化中的应用程序,脚本kendo.culture.pl-pl.min.js and kendo.messages.pl-pl.min.js已正确加载,我可以在控制台中检查它:发行kendo.culture((i之后获取对象{name:" pl-pl",numberFormat:对象,....

在我看来我正在使用

@Html.Kendo().NumericTextBoxFor(m => m.LimitMax)

,limitmax的值为200。当我的视图渲染时,我在kendonumerictextbox中看不到值时 - 如果我想重新读取它,我就会毫无用处。

我试图调查这个问题,我发现:1(助手产生的输入是这样的:

<input data-val="true" data-val-number="Pole musi być liczbą." data-val-range="Pole musi być z zakresu od 0 do 2147483647." data-val-range-max="2147483647" data-val-range-min="0" id="LimitMax" name="LimitMax" type="number" value="200,0000" />

2(正是jQuery在控制台中给我以下消息:

The specified value "200,0000" is not a valid number. The value must match to the following regular expression: -?(d+|d+.d+|.d+)([eE][-+]?d+)?

我可以通过设置来解决问题:

@Html.Kendo().NumericTextBoxFor(m => m.LimitMax).Culture("en-US")

但是,这种方式对我来说似乎不正确。

您能提供任何解决这个问题的想法吗?

不幸的是,我没有自己和在互联网中找到任何解决方案。我不得不有所攻击,在视图渲染之后,我做以下技巧:

if ($("#LimitMax").data("kendoNumericTextBox").value() === null) {
    var rawValue = $("#LimitMax").attr("value");
    if (rawValue) {
        rawValue = rawValue.replace(",", ".");
    }
    if ($.isNumeric(rawValue)) {
        $("#LimitMax").data("kendoNumericTextBox").value(rawValue);
    } 
}

最新更新