C# Telerik网格中的数字格式

C# Telerik网格中的数字格式,c#,telerik-mvc,C#,Telerik Mvc,我正在使用Telerik网格,带有更新/编辑选项 当数字从db选择为十进制变量时,其格式为:5.75 当我将其绑定到网格时,它显示为:5,75 当我按下编辑按钮时,它在文本框中显示为:5,75 但当我按下submit按钮时,它验证为:“字段持续时间必须是一个数字。” 我没有定义格式或小数分隔符属性,对于我的区域性格式(冰岛语),逗号分隔符是正确的 我在问我如何控制数字在Telerik gridcontrol中验证或显示的格式 是否有某种数字格式的控件可以在Telerik中更改 -啊您是否在代码隐

我正在使用Telerik网格,带有更新/编辑选项

当数字从db选择为十进制变量时,其格式为:5.75

当我将其绑定到网格时,它显示为:5,75

当我按下编辑按钮时,它在文本框中显示为:5,75

但当我按下submit按钮时,它验证为:“字段持续时间必须是一个数字。”

我没有定义格式或小数分隔符属性,对于我的区域性格式(冰岛语),逗号分隔符是正确的

我在问我如何控制数字在Telerik gridcontrol中验证或显示的格式

是否有某种数字格式的控件可以在Telerik中更改


-啊

您是否在代码隐藏中设置了页面的区域性信息

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("is-IS");

这是针对这两个问题提出的解决方案:和

您是否在代码隐藏中为页面设置了区域性信息

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("is-IS");
这是针对和的解决方案:Ok

找到解决方案后,您必须启用全球化以在正确的位置启用区域编号格式

这将进入母版页或_Layout.cshtml

@(Html.Telerik().ScriptRegistrar().Globalization(true))
这将进入页面后面的控制器,如HomeController.cs/Index

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("is-IS");
因为asp解析机使用逗号而不是点,但JQuery验证忽略了这一点,并使用默认值Us或En

解决了

好的

找到解决方案后,您必须启用全球化以在正确的位置启用区域编号格式

这将进入母版页或_Layout.cshtml

@(Html.Telerik().ScriptRegistrar().Globalization(true))
这将进入页面后面的控制器,如HomeController.cs/Index

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("is-IS");
因为asp解析机使用逗号而不是点,但JQuery验证忽略了这一点,并使用默认值Us或En

解决了

您应该从中使用“globalize.js”

这将通过数字验证解决您的问题,即“字段持续时间必须是一个数字”

比如说

<script src='@Url.Content("~/Scripts/Globalize/globalize.js")' type="text/javascript"></script>
<script src='@Url.Content("~/Scripts/Globalize/cultures/globalize.culture.de-DE.js")' type="text/javascript"></script>
<script type="text/javascript">
    $.validator.methods.number = function (value, element) { return this.optional(element) || !isNaN(Globalize.parseFloat(value)); }
    $(function () {
        Globalize.culture('de-DE'); 
    });
</script>

$.validator.methods.number=函数(值,元素){返回此.optional(元素)| |!isNaN(Globalize.parseFloat(值));}
$(函数(){
全球化。文化(“de-de”);
});


$.validator.methods.number=函数(值,元素){返回此.optional(元素)| |!isNaN(Globalize.parseFloat(值));}
$(函数(){
Globalize.culture('@(System.Threading.Thread.CurrentThread.CurrentCulture.Name)');
});
您应该从中使用“globalize.js”

这将通过数字验证解决您的问题,即“字段持续时间必须是一个数字”

比如说

<script src='@Url.Content("~/Scripts/Globalize/globalize.js")' type="text/javascript"></script>
<script src='@Url.Content("~/Scripts/Globalize/cultures/globalize.culture.de-DE.js")' type="text/javascript"></script>
<script type="text/javascript">
    $.validator.methods.number = function (value, element) { return this.optional(element) || !isNaN(Globalize.parseFloat(value)); }
    $(function () {
        Globalize.culture('de-DE'); 
    });
</script>

$.validator.methods.number=函数(值,元素){返回此.optional(元素)| |!isNaN(Globalize.parseFloat(值));}
$(函数(){
全球化。文化(“de-de”);
});


$.validator.methods.number=函数(值,元素){返回此.optional(元素)| |!isNaN(Globalize.parseFloat(值));}
$(函数(){
Globalize.culture('@(System.Threading.Thread.CurrentThread.CurrentCulture.Name)');
});