2

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

当我使用 Membership.CreateUser 创建用户时,很高兴我得到了重复电子邮件、重复用户名等的例外情况。但我想要的是通过将其本地化到当前线程文化中来重新使用该异常文本。

我很肯定我正在正确设置当前线程 UI 文化等,因为所有其他全球化功能都可以正常工作。

我的印象是所有 .NET Framework 异常文本都是全球化的。他们不是吗???

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

是不是只有 System.Web.Security.Membership 异常没有本地化?还是我缺少环境配置步骤?

任何帮助都会很棒。

安德鲁。

4

1 回答 1

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

        ...

有关状态代码的完整列表,请参阅此 MSDN 链接

于 2009-10-29T14:52:09.153 回答