0

我的场景: 我使用 RadEditor 控件作为用户填写表单以提交电子邮件的编辑器。RadEditor 是用户键入电子邮件正文的地方。我们有一些电子邮件模板以 HTML 格式存储在我们的数据库中,用户可以通过表单上的下拉菜单进行选择。模板是完整的 HTML,有自己的 head 标签和 style 标签,有自己的样式。

我的问题: 我可以将 RadEditor 内容设置为模板的完整 HTML 吗?我希望能够将编辑器的内容设置为完整的 HTML ,并能够从服务器 code-behind 上的 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 回答