【问题标题】:ASP.NET PasswordRecovery Control with Localized content具有本地化内容的 ASP.NET PasswordRecovery 控件
【发布时间】:2008-10-21 17:21:06
【问题描述】:

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

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

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

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

有什么想法吗?

谢谢, 最大

【问题讨论】:

    标签: asp.net asp.net-membership


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      只需将属性绑定到一个键 您页面的本地资源文件。这 页面的本地资源文件是文件 位于名为的子目录中 app_localresources 在您的页面 目录。只需使用视觉工作室的 “工具 -> 创建本地资源” 设计视图中的选项 为您创建。

      在该文件中,创建一个字符串 类似于

      的键/值对

      名称:myBodyFileName

      值:myDefaultBodyFile.txt

      然后将此绑定到 BodyFileName 登录控件的属性 像

      '>

      然后只需创建本地卫星 其他文化的资源文件和 在那些中映射该键/值对 其他正文文件的资源。

      顺便说一句,如果你使用 Visual Studio 为您创建资源文件, 那么绑定可能已经完成 自动为您服务。只需搜索 一个 “MyChangePasswordControlResource1.BodyFileName” 输入资源文件什么的 类似。

      问候,豪尔赫

      【讨论】:

      • 但这仍然需要在磁盘上创建多个文件。我想使用我的 CMS 以编程方式加载电子邮件正文。本质上,我想要一种可以通过字符串设置电子邮件正文内容的机制,例如设置 MailMessage 对象的 Body 字段的方式。
      猜你喜欢
      • 2010-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多