我有一个ASP.NET Webforms网站,它有一个基页类,可根据用户配置更改Thread文化。我们基本上是这样做的:
protected override void InitializeCulture()
{
Culture = UICulture = Customer.Culture;
Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture = new CultureInfo(Customer.Culture);
base.InitializeCulture();
}
Customer.Culture只是我从数据库中获得的一些数据,因此我可以获得en-us
或fr-CA
并且它几乎正常工作。
我发现CurrentCulture不像
这样的嵌入式代码块<%= MyPrice %>
如果我这样做,它的工作是完美的
<%# MyPrice %>
然后我调用DataBind方法。
所以,除了预期的答案“你应该切换到DataBinding表达式”是否有任何理由为什么文化不被尊重?