将RadEditor内容设置为完整HTML,并检索完整的HTML

时间:2013-02-04 20:04:34

标签: asp.net telerik radeditor

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

我的问题: 我可以将RadEditor内容设置为我的模板的完整HTML吗?我希望能够将编辑器的内容设置为完整的HTML ,并能够从服务器代码隐藏中的RadEditor中获取完整的HTML。我目前正在尝试这样做但是当我使用编辑器的.Content属性时,我只得到<body>标签内部的内容,而不是完整的HTML。当我需要在用户输入内容后将编辑器内容保存回数据库时,这是有问题的,因为我需要将完整的HTML保存到数据库中。

我的方法是不正确的,而我应该只是尝试保存和检索编辑器的html的主体,而不是完整的HTML?在这种情况下,我如何处理需要为每个电子邮件模板应用的不同样式?

请注意,我一直在使用编辑器的ContentAreaMode="Iframe"设置。

谢谢!!!

1 个答案:

答案 0 :(得分:3)

我认为你的方法是正确的。如何完成它:

  1. 不是将“完整的html”保存到数据库,而是保存RadEditor.Content HTML和(在另一列中)他们选择的HTML模板的ID。如果他们想要更改模板,这将是很好的。

  2. 您的HTML模板可以使用某种类型的“占位符”来告诉您从RadEditor“插入”HTML的位置。假设您的HTML模板中包含文本%%BODY%%

  3. 当您准备好发送电子邮件时,请获取模板,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.