У меня есть многострочное текстовое поле ASP, которое сохраняет пользовательский текст в базе данных. Когда я получаю данные, я сериализую их в xml и затем запускаю через XSL-преобразование для вывода моего HTML.
В моем преобразовании я передаю данные, определенные в текстовом поле, в функцию javascript через событие onclick элемента.
Проблема, с которой я сталкиваюсь ... когда пользователь вводит возврат каретки в текстовое поле и сохраняет его в базе данных, при загрузке страницы генерируется ошибка javascript.
Я использую .NET XslCompiledTransform
для преобразования. В XmlDocument
есть свойство с именем PreserveWhiteSpace
, по умолчанию установлено значение false, которое можно установить для удаления пробелов в XML. Это решает проблему, не позволяющую пользователю вводить разрывной текст, однако клиент хочет сохранить форматирование текста, который он вводит, если это вообще возможно.
Из того, что я знаю, .NET XslCompiledTransform
преобразует новую строку возврата каретки в 

. Я считаю, что это символы, которые нарушают JavaScript.
Моей первой мыслью было убрать возврат каретки в xsl перед передачей строки в функцию javascript, но я не смог выяснить, для каких символов «искать» строку.
Полагаю, еще один вопрос: какие символы хранятся в SQL для возврата каретки из текстового элемента управления ASP.NET?
Если смотреть непосредственно на данные в базе данных, SQL, кажется, отображает этот символ как «неотображаемые» символы или (2 пустых поля).
Кто-нибудь имел опыт работы с подобными вещами?