Предотвращение кавычек, вызывающих исключение HttpRequestValidationException - PullRequest
2 голосов
/ 11 октября 2010

Чтобы предотвратить исключение HttpRequestValidationException, я httpEncode (используя библиотеку javascript) мой ввод для отправки его на сервер, где он снова httpencoded и сохраняется.Затем обработайте его в обратном порядке, чтобы получить его обратно, с добавлением дополнительного кодирования, если оно входит в метку.

Кажется, что это работает нормально, но я получаю исключение HttpRequestValidationException, если я помещаю одну кавычку в мое текстовое поле.HttpEncode изменяет это на ', что, по-видимому, вызывает ошибку проверки.Есть ли обходной путь?Я не могу позволить себе отключить проверку страницы на уровне страницы.Кроме того, вероятна ли эта ошибка для других символов, которые я еще не обнаружил?

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

1 Ответ

1 голос
/ 16 февраля 2012

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

В итоге я использовал javascript, чтобы заменить мои апострофы токеном, который я заменил на сервере. Ниже я публикую свои фрагменты кода, но они довольно специфичны для моей ситуации.

Javascript (Client):
convertedString = originalString.replace(/\'/g, '&apos2;');

ASP.NET (Server):
originalString = HttpUtility.HtmlDecode(
        HttpUtility.HtmlDecode(convertedString)
    ).Replace("&apos2;", "'");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...