2008-10-21 25 views
3

我正在使用ASP.NET成員資格和登錄控件來處理簡單的門戶應用程序。我想使用PasswordRecovery控件發送包含忘記密碼的電子郵件,但是我的門戶需要本地化。我有一個現有的內容管理系統,我將本地化的字符串拉出來,我想將PasswordRecovery控件鏈接到該系統。使用本地化內容的ASP.NET PasswordRecovery控件

但是,看來PasswordRecovery控件將只接受電子郵件正文.txt文件...屬性是PasswordRecovery1.MailDefinition.BodyFileName

我不想使用磁盤上的文件,我想要在我的CMS中使用本地化的內容。

有沒有辦法做到這一點?我想到,我可能能夠使用SendingMail事件通過正常的System.Net命名空間發送我的OWN電子郵件,但這看起來有些尷尬......

有什麼想法嗎?

感謝, 最大

回答

4

嘗試處理PasswordRecovery控件的SendingMail事件。在這種情況下,設置e.Message.Body和e.Message。將您的本地化文本的主題屬性。

+0

太棒了!...謝謝,我認爲這樣會很好! – 2008-10-29 16:19:05

0

通過谷歌搜索 「BodyFileName本土化」 發現這一點:

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

酒店僅綁定到 頁面的localresource文件的關鍵。 頁面的本地資源文件是文件 ,位於您的頁面的 目錄中的一個名爲 app_localresources的子目錄中。只需使用visual studio的 「工具 - >創建本地資源」 選項,在設計視圖中爲它創建了 。

在該文件中,創建一個字符串 鍵/值對的東西,如

名稱:myBodyFileName

值:myDefaultBodyFile.txt

那麼這個綁定到登錄的BodyFileName 財產用 控制

'>

然後只需爲其他文化創建本地資源文件 並將 資源文件中的鍵/值對映射到其他文本文件。

順便說一句,如果你使用Visual Studio的 創建資源文件給你, 然後綁定可能已被automatticaly做 你。只要搜索 一個 「MyChangePasswordControlResource1.BodyFileName」 鍵在資源文件或 類似的東西。

問候,豪爾赫

+0

但是,這仍然需要在磁盤上創建多個文件。我想用我的CMS以編程方式加載電子郵件正文。 本質上我想要一個機制,我可以通過字符串設置電子郵件正文內容,例如您設置MailMessage對象的Body字段的方式。 – 2008-10-21 18:28:45