AjaxControlToolKit HTMLEditorExtender在添加链接时将锚标记添加为普通文本

时间:2013-03-16 15:46:21

标签: c# asp.net ajax ajaxcontroltoolkit htmleditorextender

我无法为这个主题写好标题,因为我的问题有点奇怪。我在我的网站上使用AjaxControlToolkit HTMLEditorExtender发送HTML格式的电子邮件。其他所有功能,如粗体,斜体,下划线等都可以正常工作,但是当我添加一个链接时,它会显示如下的HTML代码:

enter image description here

正如您所看到的, 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>

任何人都可以告诉我为什么会这样吗?这是扩展器的一些错误吗?

3 个答案:

答案 0 :(得分:1)

考虑到我没有足够的声誉来评论这个帖子,我会在这里提出一个后续问题。有什么方法可以看到你在C#后端得到的文字吗?如果字符串有一些奇怪的格式,这可能是问题的根源。

另外,电子邮件客户端并不是浏览器,电子邮件客户端可能无法正确呈现html。

答案 1 :(得分:1)

该图像是编辑器本身的屏幕截图吗?我使用相同的代码创建了自己的测试项目。

另外,您是如何创建链接的?我输入了一些突出显示文本的文本,然后点击了“创建链接”图标,然后从中输入了URL。它按预期创建了链接。

唯一的区别是我没有打算实施一个消毒剂,你看来是这样做的。我会尝试禁用清洁剂(仅用于测试目的)并查看问题所在。

答案 2 :(得分:0)

试试这个应该解决你的问题 -

txtEmialMsg.Text=Server.HtmlDecode(ActualStringFromExtender.ToString());

或者,如果您收到(A href)文本,则需要在发送电子邮件时使用以下内容

Server.UrlDecode(link)