会员资格异常的全球化没有发生......怎么办?

时间:2008-11-04 07:36:00

标签: asp.net asp.net-membership globalization .net-3.5 language-packs

我正在使用SqlMembershipProvider来执行我的ASP.NET网站的用户管理。特别是,该网站需要多语言(全球化!)。

当我使用Membership.CreateUser创建用户时,我可以获得重复电子邮件,重复用户名等异常。但我想要的是通过将其本地化到当前线程文化中来重用该异常文本。 / p>

我很肯定我正在设置当前的线程UI文化,因为所有其他全球化功能都是完全正常的。

我认为所有.NET Framework异常文本都是全球化的。不是吗???

特别是,我正在测试法语。我想我已经成功安装了法语.NET 3.5 SP1语言包(但不确定 - 有没有办法检查!?)按照here的说明。

是否可能只是System.Web.Security.Membership异常未本地化?或者我错过了环境配置步骤?

任何帮助都会很棒。

安德鲁。

1 个答案:

答案 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