веб-браузеры (различные) имеют URL-адреса кодирования html, сделанные из моего приложения asp. net - нарушение обработки Request.QueryString - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть веб-приложение asp. net, нацеленное на net 4. Оно существует уже более десяти лет (ранее была другая версия. net). Часть функциональности создает ссылки. Когда вы наводите курсор мыши на ссылки, они выглядят корректно:

https://<snip>/RequestAccess.aspx?action=0&code=72&color=1&extend=0

Браузер получает этот URL-адрес при нажатии на вышеуказанную ссылку:

https://<snip>/RequestAccess.aspx?action=0&amp;code=91&amp;color=1&amp;extend=0

Когда вы нажимаете на ссылки, в Интернете браузер открывает их, но указанная ссылка теперь закодирована HTML. Это вызывает проблемы, потому что обработка Request.QueryString не удаляет «amp;» от & сущности, которая является &. Когда я пытаюсь просмотреть имена строк запроса, которые записаны в словаре Request.QueryString, имена теперь начинаются с «amp;» Некоторые имена соответствуют ожиданиям, поскольку они являются первым параметром строки запроса. Другие параметры строки запроса теперь отображаются как «amp;». Из моего примера выше, словарь захватывается. Net как это:

action ==> 0
amp;code ==> 91
amp;color ==> 1
amp;extend ==> 0

Я понятия не имею, когда это начало происходить. Я предполагаю некоторое время в недавнем прошлом. Вероятно, это связано с каким-то патчем.

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

...