Поскольку я решил передать идентификатор конкретной записи через строку запроса, я зашифровал идентификатор (id=090ed4fe-daec-452d-b025-f664dcc1164d
) и прикрепил его значение к URL-адресу.
Как мы все знаем, закодированное значение URL для / является% 2f. Таким образом, для конкретного экземпляра приложения значение id (id=090ed4fe-daec-452d-b025-f664dcc1164d
), которое было зашифровано и затем закодировано, возвращает значение:
M2vaIbPkOqO6lw4jv%2bqE2f%2fhTrK495ny92uPcLBOJBNcMpg1RUme%2fvAo6LyKfdp9e
При наведении на ссылку я получаю:
M2vaIbPkOqO6lw4jv+qE//hTrK495ny92uPcLBOJBNcMpg1RUme/vAo6LyKfdp9e
для "зашифрованной и закодированной" части, которая является правильной. Но когда я использую свойство Context.Request.RawUrl
для получения URL, я получаю:
M2vaIbPkOqO6lw4jv+qE/hTrK495ny92uPcLBOJBNcMpg1RUme/vAo6LyKfdp9e
Так что проблема в том, что он удаляет один (1) '/' из строки, и, следовательно, я больше не могу дешифровать строку.
Кстати, этот модуль у меня уже несколько месяцев, и я никогда не сталкивался с этой проблемой. Просто получается, что у меня впервые два (2) '/' (2f% 2f) рядом друг с другом.
Пожалуйста, могу ли я в любом случае заставить Context.Request.RawUrl
вернуть нужную строку и не дать ей снять с себя одну (1) '/'?