Я пишу утилиту, которая берет файл .resx и создает объект javascript, содержащий свойства для всех пар имя / значение в файле .resx. Это все хорошо, пока одно из значений в .resx не будет равно
Этот дилер принимает электронные заказы.
/ r / nНажмите, чтобы заказать {0} у этого дилера.
Я добавляю пары имя / значение в объект js следующим образом:
streamWriter.Write(string.Format("\n{0} : \"{1}\"", kvp.Key, kvp.Value));
Когда kvp.Value = "Этот дилер принимает электронные заказы ./r/nНажмите, чтобы заказать {0} у этого дилера."
Это заставляет StreamWriter.Write () фактически помещать новую строку между «заказами». и «Щелчок», который естественно портит мой вывод JavaScript.
Я пробовал разные вещи с @ и без использования string.Format, но мне не повезло. Есть предложения?
Редактировать: Это приложение запускается во время сборки, чтобы позднее развернуть некоторые файлы javascript, поэтому ни в коем случае оно не доступно и не запускается никем, кроме разработчиков приложений. Поэтому, хотя мне явно нужен способ экранирования символов, XSS как таковой на самом деле не представляет проблемы.