我无法为这个主题写好标题,因为我的问题有点奇怪。我在我的网站上使用AjaxControlToolkit HTMLEditorExtender发送HTML格式的电子邮件。其他所有功能,如粗体,斜体,下划线等都可以正常工作,但是当我添加一个链接时,它会显示如下的HTML代码:
正如您所看到的, BOLD 正在运行,但是锚标记以HTML代码格式显示。
扩展程序代码和文本框:
<asp:TextBox ID="TextBox2" runat="server" Height="376px"
TextMode="MultiLine" Width="795px"></asp:TextBox>
<asp2:HtmlEditorExtender ID="TextBox2_HtmlEditorExtender"
runat="server" Enabled="True" TargetControlID="TextBox2">
</asp2:HtmlEditorExtender>
任何人都可以告诉我为什么会这样吗?这是扩展器的一些错误吗?
答案 0 :(得分:1)
考虑到我没有足够的声誉来评论这个帖子,我会在这里提出一个后续问题。有什么方法可以看到你在C#后端得到的文字吗?如果字符串有一些奇怪的格式,这可能是问题的根源。
另外,电子邮件客户端并不是浏览器,电子邮件客户端可能无法正确呈现html。
答案 1 :(得分:1)
该图像是编辑器本身的屏幕截图吗?我使用相同的代码创建了自己的测试项目。
另外,您是如何创建链接的?我输入了一些突出显示文本的文本,然后点击了“创建链接”图标,然后从中输入了URL。它按预期创建了链接。
唯一的区别是我没有打算实施一个消毒剂,你看来是这样做的。我会尝试禁用清洁剂(仅用于测试目的)并查看问题所在。
答案 2 :(得分:0)
试试这个应该解决你的问题 -
txtEmialMsg.Text=Server.HtmlDecode(ActualStringFromExtender.ToString());
或者,如果您收到(A href)文本,则需要在发送电子邮件时使用以下内容
Server.UrlDecode(link)