3

我正在使用 ASP.NET 成员资格和登录控件开发一个简单的门户应用程序。我想使用 PasswordRecovery 控件发送包含忘记密码的电子邮件,但是我的门户需要本地化。我有一个现有的内容管理系统,我正在从中提取本地化字符串,并且我想将 PasswordRecovery 控件链接到该系统。

但是,PasswordRecovery 控件似乎只接受电子邮件正文的 .txt 文件...属性是 PasswordRecovery1.MailDefinition.BodyFileName

我不想使用磁盘上的文件,我想在我的 CMS 中使用本地化内容。

有没有办法做到这一点?我突然想到我也许可以使用 SendingMail 事件通过正常的 System.Net 命名空间发送我的 OWN 电子邮件,但这似乎有点笨拙......

有什么想法吗?

谢谢,马克斯

4

2 回答 2

4

尝试处理 PasswordRecovery 控件的 SendingMail 事件。在这种情况下,将 e.Message.Body 和 e.Message.Subject 属性设置为您的本地化文本。

于 2008-10-24T17:54:22.197 回答
0

通过谷歌搜索“BodyFileName 本地化”找到了这个:

http://forums.asp.net/t/1118242.aspx

只需将该属性绑定到页面的本地资源文件中的键即可。页面的本地资源文件是位于页面目录中名为 app_localresources 的子目录中的文件。只需在设计视图中使用 Visual Studio 的“工具 -> 创建本地资源”选项即可为您创建它。

在该文件中,创建一个字符串键/值对,例如

名称:myBodyFileName

值:myDefaultBodyFile.txt

然后将其绑定到登录控件的 BodyFileName 属性,例如

'>

然后只需为其他文化创建卫星本地资源文件,并将这些资源中的键/值对映射到其他正文文件。

顺便说一句,如果您使用 Visual Studio 为您创建资源文件,那么绑定可能已经为您自动完成。只需在资源文件或类似文件中搜索“MyChangePasswordControlResource1.BodyFileName”键即可。

问候, 豪尔赫

于 2008-10-21T17:45:27.627 回答