asp.net-mvc – 根据浏览器接受语言自动设置uiCulture
我如何根据用户的浏览器自动设置ui的文化?
解决方法在ASP.NET MVC中,web.config是正确的地方.有一个快速的摘要,第一个片段显示,怎么可能是例如pt-BR文化被迫<globalization enableClientBasedCulture="false" uiCulture="pt-BR" culture="pt-BR" /> 如果应用程序已准备好接受来自客户端(浏览器)的文化,设置应该是 <globalization enableClientBasedCulture="true" uiCulture="auto" culture="auto" /> 上述设置将采用在客户端浏览器中选择的语言(例如,我的情况下的cs-CZ).如果没有定义,则将使用系统设置. <globalization enableClientBasedCulture="true" uiCulture="auto:pt-BR" culture="auto:pt-BR" /> 扩展:jQuery验证器和数字输入的文化设置 注意:我绝对不是jQuery和全球化技术的专家.这是我如何调整验证器来正确处理任何数字输入的示例 razor查看部分(X()是新的HtmlString()的快捷方式): var defaultThousandSeprator = "@X(culture.NumberFormat.NumberGroupSeparator)"; var defaultDecimalSeprator = "@X(culture.NumberFormat.NumberDecimalSeparator)"; jQuery部分(最小和最大的自定义方法) $.validator.addMethod("min",function (value,element,param) { var num = value.replace(RegExp(" ","g"),"") // remove spaces .replace(RegExp('' + defaultThousandSeprator,"") // thousand separator .replace(RegExp("" + defaultDecimalSeprator,"."); // fix decimals return this.optional(element) || num >= param; }); $.validator.addMethod("max","") // thousands .replace(RegExp("" + defaultDecimalSeprator,"."); // decimals return this.optional(element) || num <= param; }); 然后jQuery.validator正确地计算cs-CZ:10 000,00以及en-US:10,000.00的输入值. (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |