我在asp.net中有一个巨大的Web应用程序,它是为美国客户开发的。
MM/dd/yyyy
格式,而在英国,它将是dd/MM/yyyy
。 我如何克服这些兼容性问题。
这些标签的内联值需要在不改变任何代码的情况下进行更改。
我看到有关资源文件的事情,但是我不知道如何为不同的地区日期,货币格式实现这个。或者如何使用这些资源进行日期转换......?或者我们有其他任何格式做这些..?
请有人建议我这样做的方法..
答案 0 :(得分:1)
http://msdn.microsoft.com/en-us/library/5hh873ya%28v=vs.90%29.aspx
应该很容易
http://msdn.microsoft.com/en-us/library/vstudio/ms247246%28v=vs.100%29.aspx
答案 1 :(得分:1)
在大多数情况下,使用web.config可以在没有任何代码的情况下格式化日期和数值。
如果您只需要设置一个(默认)文化(en-US或en-GB),请使用
<globalization culture="en-GB" />
如果您拥有同一网站上的所有用户,并且应根据用户设置(浏览器客户端语言read more here)进行更改,那么您可以尝试
<globalization culture="auto:en-US" />
如果要通过代码更改文化,请使用
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-GB");
标签的翻译无法自动完成。存在许多差异,see some of them here并且没有像上面那样的配置可以改变&#34;检查&#34;到&#34;检查&#34;。
如果当前文本存储在数据库中,请考虑添加一个文化列,并且要么具有两种文化的版本,要么将所有en-US和例外存储在en-GB中(因此,如果未找到例外,请使用en-US默认情况下)
current account en-US
cheque account en-GB
这意味着需要更改所有sql查询以根据当前文化选择文本。
如果在aspx中硬编码文本,请考虑使用资源文件。请参阅localization in asp.net web forms with one global resource