Mur*_*nze 12 globalization asp.net-mvc
如何根据用户的浏览器自动设置ui的文化?我发现的所有内容都是默认情况下我Globalize.culture("pt-BR");
设置pt-BR
为默认设置!如果用户是pt-BR,我只想设置这个!我怎样才能做到这一点?验证方法,如何为特定文化设置它们?
Rad*_*ler 19
在ASP.NET MVC中,web.config
它是正确的位置.有一个快速摘要,第一个片段显示,怎么可能是例如pt-BR
文化被迫
<globalization
enableClientBasedCulture="false"
uiCulture="pt-BR"
culture="pt-BR" />
Run Code Online (Sandbox Code Playgroud)
如果应用程序已准备好接受来自客户端(浏览器)的文化,则应进行设置
<globalization
enableClientBasedCulture="true"
uiCulture="auto"
culture="auto" />
Run Code Online (Sandbox Code Playgroud)
以上设置将采用在客户端浏览器中选择的语言(例如,cs-CZ
在我的情况下).如果未定义,则将使用系统设置.最后的代码段显示了如何允许客户端设置和发送预期的文化,但是如果没有预先选择语言,则使用其他一些默认值覆盖系统设置pt-BR
<globalization
enableClientBasedCulture="true"
uiCulture="auto:pt-BR"
culture="auto:pt-BR" />
Run Code Online (Sandbox Code Playgroud)
扩展:文化设置jQuery
validator
和数字输入
注意:我绝对不是jQuery
全球化技术方面的专家.这是我如何调整validator
以正确处理任何数字输入的示例
剃刀查看零件(X()
是一个快捷方式new HtmlString()
):
var defaultThousandSeprator = "@X(culture.NumberFormat.NumberGroupSeparator)";
var defaultDecimalSeprator = "@X(culture.NumberFormat.NumberDecimalSeparator)";
Run Code Online (Sandbox Code Playgroud)
jQuery部分(min和max的自定义方法)
$.validator.addMethod("min", function (value, element, param)
{
var num = value.replace(RegExp(" ", "g"), "") // remove spaces
.replace(RegExp('\\' + defaultThousandSeprator, "g"), "") // thousand separator
.replace(RegExp("\\" + defaultDecimalSeprator, "g"), "."); // fix decimals
return this.optional(element) || num >= param;
});
$.validator.addMethod("max", function (value, element, param)
{
var num = value.replace(RegExp(" ", "g"), "") // remove spaces
.replace(RegExp('\\' + defaultThousandSeprator, "g"), "") // thousands
.replace(RegExp("\\" + defaultDecimalSeprator, "g"), "."); // decimals
return this.optional(element) || num <= param;
});
Run Code Online (Sandbox Code Playgroud)
然后jQuery.validator评估cs-CZ的输入值:10 000,00
正确以及en-US : 10,000.00
.
归档时间: |
|
查看次数: |
11153 次 |
最近记录: |