我在项目中使用CultureModule.cs
根据变量的值设置文化信息。这是示例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Globalization;
namespace CwizBankApp
{
public class CultureModule:IHttpModule
{
public void Dispose()
{
}
public void Init(HttpApplication context)
{
context.PostAuthenticateRequest +=
new EventHandler(context_PostAuthenticateRequest);
}
void context_PostAuthenticateRequest(object sender, EventArgs e)
{
CultureInfo currentCulture;
if (Global.gDateFormat.Trim() == "British")
{
currentCulture = new System.Globalization.CultureInfo("en-GB");
}
else
{
currentCulture = new System.Globalization.CultureInfo("en-US");
}
System.Threading.Thread.CurrentThread.CurrentCulture
= currentCulture;
}
}
}
在此之后,我在web.config中进行配置,如下所示:
<add name="CultureModule"
type="CwizBankApp.HttpModules.CultureModule,CwizBankApp"/>
目前我的变量是英国格式,但日期是以美国格式执行。
我的问题是,我是以正确的方式做事还是仍然缺少某些东西。
答案 0 :(得分:2)
格式取决于Thread.CurrentUICulture。
所以你会这样做:
System.Threading.Thread.CurrentThread.CurrentUICulture = currentCulture;