不要在DIV中将插入的HTML显示为标记;而是将其显示为标签的正常显示

时间:2011-09-13 20:37:02

标签: asp.net html tinymce

我正在使用TinyMce撰写电子邮件,然后我在数据库中保存电子邮件。还需要以只读模式打开电子邮件。仅以简化模式显示顶级邮件我在div中插入了电子邮件标签,但在显示中插入的文本未显示为HTML标记的显示,而是显示div中的标记。我使用div.InnerHtml添加电子邮件HTML,但div显示的标签如下:

<p>
 <strong>hi,</strong>
</p>
<div>
 <span style="color: #800000;">
  Since the application that he demands require information gathering,
  screen designing and development, I have forwarded the project to the team
  I am working with.
 </span>
</div>
<div><br /></div>
<div>
 <span style="color: #ff6600;">
  <strong>
   <span style="font-size: medium;">Thanks,</span>
  </strong>
 </span>
</div>
<div>
 <strong>
  <span style="font-size: medium;"><br /> </span>
 </strong>
</div>
<div style="text-align: right;">
 <span style="font-size: medium;">
  <em>
   <span style="text-decoration: underline;">
    <span style="color: #339966;">Mr. Bota</span>
   </span>
  </em>
 </span>
 <br />
</div>

2 个答案:

答案 0 :(得分:2)

您应该使用asp.net Literal控件,并将LiteralMode设置为`PassThrough'。您可以在此处阅读更多内容:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.literalmode.aspx

这应该允许实际渲染您发出的HTML,而不是看到标记。

答案 1 :(得分:1)

为此使用文字控件:

<asp:Literal ID="litEmailBody" runat="server" />

在后面的代码中:

litEmailBody.Text = htmlContent; //your HTML markup