ASP.NET Элемент управления восстановлением пароля с локализованным содержимым

StackOverflow https://stackoverflow.com/questions/222710

  •  03-07-2019
  •  | 
  •  

Вопрос

Я работаю над простым приложением портала, используя ASP.NET элементы управления членством и входом в систему.Я хотел бы использовать элемент управления PasswordRecovery для отправки электронных писем, содержащих забытые пароли, однако мой портал требует локализации.У меня есть существующая система управления контентом, из которой я извлекаю локализованные строки, и я хотел бы связать элемент управления PasswordRecovery с этой системой.

Но, похоже, что элемент управления PasswordRecovery будет принимать ТОЛЬКО текстовый файл для тела электронного письма...свойство PasswordRecovery1.MailDefinition.BodyFileName

Я не хочу использовать файл на диске, я хотел бы использовать локализованный контент в моей CMS.

Есть ли какой-нибудь способ сделать это?Мне пришло в голову, что я мог бы использовать событие SendingMail для отправки моей собственной электронной почты через обычную систему.Пространство имен Net, но это кажется немного громоздким...

Есть какие-нибудь мысли?

Спасибо, Макс

Это было полезно?

Решение

Попробуйте обработать событие SendingMail элемента управления PasswordRecovery.В этом случае задайте свойства e.Message.Body и e.Message.Subject для вашего локализованного текста.

Другие советы

Нашел это, погуглив "Локализация имени файла тела".:

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

Просто привяжите свойство к ключу в файле localresource вашей страницы.Файл локальных ресурсов страницы - это файл, который расположен в подкаталоге под названием app_localresources в каталоге вашей страницы .Просто использовать Visual студии "инструменты -> создать локальный ресурс" параметр в конструкторе для его создан для вас.

В этом файле создайте строку сопоставьте ключ / значение с чем-то вроде

Имя:Имя файла моего тела

Значение:myDefaultBodyFile.txt

Затем привяжите это к BodyFileName свойству элемента управления login с помощью что-то вроде

'>

Затем просто создайте локальный sattelite файлы ресурсов для других языков и сопоставьте эту пару ключ / значение в этих ресурсах с другими текстовыми файлами основного текста.

Кстати, если вы использовали visual Studio для создания файла ресурсов для вас, тогда привязка, возможно, была выполнена для вас автоматически.Просто найдите a "MyChangePasswordControlResource1.BodyFileName" ключ в файле ресурсов или что-то еще подобное.

С уважением, Хорхе

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top