我正在使用SqlMembershipProvider来执行我的ASP.NET网站的用户管理。特别是,该网站需要多语言(全球化!)。
当我使用Membership.CreateUser创建用户时,我可以获得重复电子邮件,重复用户名等异常。但我想要的是通过将其本地化到当前线程文化中来重用该异常文本。 / p>
我很肯定我正在设置当前的线程UI文化,因为所有其他全球化功能都是完全正常的。
我认为所有.NET Framework异常文本都是全球化的。不是吗???
特别是,我正在测试法语。我想我已经成功安装了法语.NET 3.5 SP1语言包(但不确定 - 有没有办法检查!?)按照here的说明。
是否可能只是System.Web.Security.Membership异常未本地化?或者我错过了环境配置步骤?
任何帮助都会很棒。
安德鲁。
答案 0 :(得分:1)
异常消息未本地化。
您必须使用错误代码将自己本地化:
Public Shared Function ErrorCodeToString( _
ByVal createStatus As MembershipCreateStatus) As String
Select Case createStatus
Case MembershipCreateStatus.DuplicateUserName
Return Resources.Resource.Account_DuplicateUserName
Case MembershipCreateStatus.DuplicateEmail
Return Resources.Resource.Account_DuplicateEmail
...
有关状态代码的完整列表,请参阅this MSDN link。