AjaxControlToolKit HTMLEditorExtender, добавляющий тег привязки как обычный текст при добавлении ссылки

Я не могу написать красивое название для этой темы, потому что моя проблема немного странная. Я использую 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>

Может ли кто-нибудь сказать мне, почему это происходит? Это какая-то ошибка с расширителем?


person Shiva Pareek    schedule 16.03.2013    source источник
comment
Как вы назначаете код HTML для TextBox/HtmlEditorExtender?   -  person Jesse    schedule 23.03.2013
comment
Это делается HtmlEditorExtender автоматически.   -  person Shiva Pareek    schedule 24.03.2013
comment
Возможно, я неправильно сформулировал свой вопрос - можете ли вы объяснить шаги, предпринятые для воспроизведения проблемы, с которой вы столкнулись? HTML подготовлен и назначен программно? Пользователь набирает текст и использует кнопки панели инструментов?   -  person Jesse    schedule 24.03.2013
comment
@ShivaPareek - Пожалуйста, поделитесь кодом, который принимает значение из элемента управления HtmlEditoerExtender для отправки электронной почты. Я не думаю, что проблема связана с HtmlEditorExtender.   -  person CoderHawk    schedule 26.03.2013


Ответы (3)


Учитывая, что у меня недостаточно репутации для комментирования поста, я задам дополнительный вопрос здесь. Можем ли мы каким-либо образом увидеть текст, который вы получаете на своем бэкэнде C #? Это возможный источник проблемы, если строка имеет какое-то странное форматирование.

Кроме того, почтовые клиенты не предназначены для использования в качестве браузеров, и существует вероятность того, что почтовый клиент не будет правильно отображать html.

person lbdm44    schedule 19.03.2013

Является ли это изображение скриншотом самого редактора? Я создал свой собственный тестовый проект, используя тот же код.

Кроме того, как вы создали ссылку? Я набрал какой-то текст, выделил текст и щелкнул значок «создать ссылку», а оттуда ввел URL-адрес. Он создал ссылку, как и ожидалось.

Единственная разница в том, что я не удосужился внедрить дезинфицирующее средство, что, похоже, сделали вы. Я бы попробовал отключить дезинфицирующее средство (только для целей тестирования) и посмотреть, не в этом ли ваша проблема.

person Smeegs    schedule 22.03.2013
comment
Нет, это не скриншот редактора. Скриншот письма. Я использовал дезинфицирующее средство, как вы предложили, я удалил его, но все равно без разницы. - person Shiva Pareek; 23.03.2013
comment
@ShivaPareek Вы имели в виду, что при открытии электронной почты из почтового программного обеспечения якорь отображается как HTML-разметка? Правильно ли отображается ссылка при составлении самого письма в HTMEditorExtender? - person Khadim Ali; 26.03.2013
comment
ладно, в редакторе все правильно отображается. Кроме того, как вы отправляете письмо? вы включаете html при отправке электронной почты? - person Smeegs; 27.03.2013

Попробуйте это, это должно решить вашу проблему -

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

Или, если вы получаете текст (A href), вам нужно использовать следующее при отправке электронных писем.

Server.UrlDecode(link) 
person Lingaraj    schedule 26.03.2013