HTMLEditorExtender кодирует тег img при асинхронной обратной передаче - PullRequest
4 голосов
/ 03 февраля 2012

Я использую стандартный элемент управления HTMLEditorExtender (часть набора инструментов управления ajax).В исходном pageLoad я заполняю его HTML (включая теги> p <,> br <,> strong <и> img <. Он хорошо отображается в элементе управления HTMLEditorExtender. Затем, когда я выполняю асинхронную обратную передачу (через панель обновления),все теги> img <отображаются как фактический html вместо отображения изображения. Все остальные теги по-прежнему отображаются правильно. </p>

Разметка элемента управления HTMLEditorExtender выглядит следующим образом после асинхронной обратной передачи: в невидимой текстовой областииспользуется для сохранения закодированного значения html, все отображаемые правильно теги кодируются нормально (т. е. <и>), но теги img опускают амперсанд перед кодированным значением (т. е. lt; и gt;)

ОБНОВЛЕНИЕ: все работает нормально, если я добавлю этот код в событие pageLoad, но я опасаюсь, какое это имеет значение для безопасности?

if (IsPostBack)
{
    txtBookingConfirmation.Text = Server.HtmlDecode(txtBookingConfirmation.Text);
}

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

Заранее спасибо

Ответы [ 2 ]

7 голосов
/ 08 мая 2012

Кажется, это единственное решение, и оно еще не доставило проблем.

if (IsPostBack)
{
    txtBookingConfirmation.Text = Server.HtmlDecode(txtBookingConfirmation.Text);
}
0 голосов
/ 04 мая 2012

У меня такая же проблема. Всякий раз, когда я нажимаю кнопку, которая возвращает обратно на страницу, HTMLEditorExtender изменяет содержимое текстового поля на то, где отображается HTML-разметка. Похоже, он заменяет все «&» на «& amp;». Так, например, все "& lt;" значения в тексте изменяются на «& lt;». Это происходит и с "& gt". Я только что обновился до инструментария AJAX, который был выпущен 5/1/2012. Не уверен, что это за версия.

Я должен был поставить пробел в "& amp;" и тому подобное, так как они рендерились на моем посту. Просто убери пространство, когда смотришь на это.

...