Получить полный URL-адрес с хешем для использования в качестве ReturnUrl

у меня такой URL

localhost/Login/LogOn?ReturnUrl=/#&q=my%20search%20word&f=1//447044365|2//4

Мне нужно получить хеш-параметры для навигации в приложении после аутентификации.

Я пытаюсь поймать это так

<input name="returnUrl" value="<%= ViewContext.HttpContext.Request.Url.PathAndQuery %>" type="hidden" />

Но результат

/Login/LogOn?ReturnUrl=/

Я пытался убрать "/#" в URL-адресе, тогда я получаю весь URL-адрес. Но мне нужно использовать этот URL как есть.

Почему URL был обрезан?


person podeig    schedule 04.04.2011    source источник


Ответы (1)


Браузер не отправляет фрагмент хэша на сервер. Он используется только на стороне клиента. Если вам это нужно, вам нужно будет получить к нему доступ через скрипт на стороне клиента.

person Talljoe    schedule 04.04.2011
comment
Спасибо! Я только что добавил $(#returnUrl).val(location.hash); чтобы поместить его на вход. - person podeig; 04.04.2011
comment
При такой обработке URL-адресов на стороне клиента помните об атаках внедрения/перехвата. Убедитесь, что потребитель этого значения не доверяет и подтверждает его. - person ProVega; 20.05.2014