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

7
我无法为这个话题写出一个好的标题,因为我的问题有些奇怪。我在我的网站中使用AjaxControlToolkit HTMLEditorExtender来发送HTML格式的电子邮件。像粗体、斜体、下划线等每个其他功能都能正常工作,但是当我添加链接时,它显示为以下HTML代码:
如您所见,BOLD是有效的,但锚点标签以HTML代码格式显示。
Extender和文本框的代码:
<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>

请问为什么会出现这种情况?是扩展程序的一个Bug吗?

你是如何将HTML代码分配给TextBox/HtmlEditorExtender的? - Jesse
这是由HtmlEditorExtender自动完成的。 - Shiva Pareek
1
我可能没有正确表达我的问题 - 你能解释一下重现你遇到的问题所采取的步骤吗?HTML是通过编程准备和分配的吗?用户是输入文本并使用工具栏按钮吗? - Jesse
@ShivaPareek - 请分享接受HtmlEditorExtender控件值以发送电子邮件的代码。我认为问题不在HtmlEditorExtender上。 - Sandeep Kumar M
3个回答

1
考虑到我没有足够的声望在帖子上进行评论,我将在此提出后续问题。我们是否有办法看到您在C#后端收到的文本?如果字符串具有一些奇怪的格式,则这是问题的可能来源。
另外,电子邮件客户端并不意味着它们是浏览器,有可能电子邮件客户端无法正确地呈现HTML。

1

这张图片是编辑器本身的截图吗?我使用了你的代码创建了自己的测试项目。

还有,你是如何创建链接的?我输入了一些文本,将其突出显示,然后点击“创建链接”图标,从那里输入了URL。它按预期创建了链接。

唯一的区别是,我没有实现一个过滤器,而你似乎做了。我建议尝试禁用过滤器(仅供测试),看看是否出现问题。


不,这不是编辑器的截图。这是电子邮件的截图。我使用了清洁剂,就像你建议的那样,但仍然没有任何改变。 - Shiva Pareek
@ShivaPareek 你的意思是从邮件软件中打开时,显示的锚点为HTML标记吗?在HTMEditorExtender中撰写电子邮件时,链接是否正确显示? - Khadim Ali
好的,那么在编辑器中它显示正确吗?另外,你是如何发送电子邮件的?发送电子邮件时是否启用了HTML? - Smeegs

0

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

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

如果你获取的是(A href)文本,则在发送电子邮件时需要使用以下内容

Server.UrlDecode(link) 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接