3

ASP.NET メンバーシップとログイン コントロールを使用して、単純なポータル アプリケーションに取り組んでいます。PasswordRecovery コントロールを使用して忘れたパスワードを含む電子メールを送信したいのですが、私のポータルにはローカライズが必要です。ローカライズされた文字列を引き出す既存のコンテンツ管理システムがあり、PasswordRecovery コントロールをそのシステムにリンクしたいと考えています。

しかし、PasswordRecovery コントロールはメール本文の .txt ファイルのみを受け入れるようです...プロパティは PasswordRecovery1.MailDefinition.BodyFileName です

ディスク上のファイルを使用したくありません。CMS でローカライズされたコンテンツを使用したいと考えています。

これを行う方法はありますか?SendingMail イベントを使用して、通常の System.Net 名前空間を介して自分の電子メールを送信できるかもしれないと思いましたが、それはちょっとぎこちないようです...

何かご意見は?

ありがとう、マックス

4

2 に答える 2

4

PasswordRecovery コントロールの SendingMail イベントを処理してみてください。その場合、e.Message.Body および e.Message.Subject プロパティをローカライズされたテキストに設定します。

于 2008-10-24T17:54:22.197 に答える
0

「BodyFileName localization」をグーグルで検索すると、これが見つかりました。

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

プロパティをページの localresource ファイルのキーにバインドするだけです。ページのローカル リソース ファイルは、ページのディレクトリの app_localresources というサブディレクトリにあるファイルです。Visual Studio の「ツール -> ローカル リソースの作成」オプションをデザイン ビューで使用するだけで作成できます。

そのファイルで、次のような文字列のキーと値のペアを作成します

名前: myBodyFileName

値: myDefaultBodyFile.txt

次に、これを次のような方法でログイン コントロールの BodyFileName プロパティにバインドします。

'>

次に、他のカルチャ用のサテライト ローカル リソース ファイルを作成し、それらのリソースのキーと値のペアを他の本文テキスト ファイルにマップします。

ちなみに、Visual Studio を使用してリソース ファイルを作成した場合、バインドは自動的に行われている可能性があります。リソース ファイルなどで「MyChangePasswordControlResource1.BodyFileName」キーを検索するだけです。

よろしく、ホルヘ

于 2008-10-21T17:45:27.627 に答える