您是否可以像.NET一样在javascript中获取文化信息字符串?

Tom*_*ora 5 javascript c# asp.net culture cultureinfo

我需要从浏览器的语言中获取文化字符串。

我考虑过从javascript这样获取代码:

var userLang = navigator.language || navigator.userLanguage;
Run Code Online (Sandbox Code Playgroud)

但这只给了我从.NET获得的文化信息的第一部分:

Thread.CurrentThread.CurrentCulture.Name;
Run Code Online (Sandbox Code Playgroud)

因此,javascript为我提供了“ de”或“ pl”,而不是.NET中的“ de-DE”或“ pl-PL”。有没有办法获取“完整信息”?

Roy*_*tus 6

并不真地。浏览器不会在其 DOM 中保留这些详细信息。

你可以做的是,在你的ASP.NET页面,生成CultureInfoC#中,像这样:

<script language="javascript">
   var culture = '<%= System.Globalization.CultureInfo.CurrentCulture.Name %>';
   var cultureDisplayName = '<%= System.Globalization.CultureInfo.CurrentCulture.DisplayName %>';
   // etc

   // rest of your JavaScript code
</script>
Run Code Online (Sandbox Code Playgroud)


DaI*_*mTo 5

尝试这个

<script>
var cultureInfo = '@System.Globalization.CultureInfo.CurrentCulture.Name';
</script>
Run Code Online (Sandbox Code Playgroud)