0

私のシナリオ: RadEditor コントロールを、ユーザーが電子メールを送信するために入力するフォームのエディターとして使用しています。RadEditor は、ユーザーが電子メールの本文を入力する場所です。データベースに HTML として保存された電子メール テンプレートがいくつかあり、ユーザーはフォームのドロップダウンから選択できます。テンプレートは、独自の head タグと独自のスタイルを持つ style タグを持つ完全な HTML です。

私の質問: RadEditor コンテンツをテンプレートの完全な HTML に設定できますか? エディターのコンテンツを完全な HTML に設定し、サーバーのコード ビハインドで RadEditor から完全な HTML を取得できるようにしたいと考えています。私は現在これを行おうとしていますが、エディターの .Content プロパティを使用すると<body>、完全な HTML ではなく、タグの内部にあるものしか取得できません。完全な HTML をデータベースに保存する必要があるため、ユーザーがコンテンツを入力した後にエディターのコンテンツをデータベースに保存する必要がある場合、これは問題です。

私のアプローチは間違っていますか?代わりに、完全な html ではなく、エディターの html の本文のみを保存して取得しようとする必要がありますか? その場合、各メール テンプレートに適用する必要があるさまざまなスタイルをどのように処理すればよいでしょうか?

ContentAreaMode="Iframe"エディターの設定を使用していることに注意してください 。

ありがとうございました!!!

4

1 に答える 1

3

あなたのアプローチは正しいと思います。それを完了する方法:

  1. 「完全な html」をデータベースに保存する代わりに、RadEditor.ContentHTML と (別の列に) 選択した HTML テンプレートの ID を保存します。これは、テンプレートを変更したい場合に便利です。

  2. HTML テンプレートには、RadEditor から HTML を「挿入」する場所を知らせる「プレースホルダー」のタイプを含めることができます。HTML テンプレートに text が含まれているとします%%BODY%%

電子メールを送信する準備ができたら、RadEditor.Content(ポストバックまたはデータベースのクエリから) テンプレートを取得し、それらを結合します。何かのようなもの

string htmlTemplate = //your HTML template from your database
string body = htmlTemplate.Replace("%%BODY%%", RadEditor.Content); //the string 'body' is what will be sent as your email body.
于 2013-02-04T20:28:41.717 に答える