2011-03-17 65 views
0

我有一个跟踪财务数据的Web应用程序。我想要让用户可以通过下拉菜单编辑他们的货币。不同的货币类型将保存在数据库中,然后用户可以选择他们希望使用的货币。我能看到的最简单的方法是检查货币值是什么,并动态地改变文化以匹配货币,因此我可以继续使用格式。我接受其他建议,但这对我来说似乎是最合乎逻辑的。我该如何处理?基于动态值更改ASP.NET文化

+0

我认为这是正确的,你可以使用Page.InitializeCulture来达到这个目的。或者Global.asax连接Page.PreInit并在那里执行。 – Robert 2011-03-17 12:33:14

回答

0

我发现最简单的方法是创建一个继承页面的基类。然后它是对InitializeCulture()函数的一个简单覆盖。

感谢您的帮助!

1

你可以用几种方法做到这一点。

  1. 通过打算的文化作为您的String.Format调用的第一个参数,例如,

    string str = string.Format(CultureInfo.CurrentCulture,“{0:C}”,revenue);

  2. 变化的线程的处理请求的默认区域性:

    Thread.CurrentThread.CurrentCulture =新的CultureInfo( “EN-GB”);

第二个选项需要在每个请求的开始做,并允许您自动使用您的格式和解析这种文化,但你需要照顾,以保证任何代码,处理用户响应根据默认文化(您将要替换)进行处理。