Буква «#» отсутствует в URL-адресе HttpContext.Request или HttpContext.Current.Request?

Мой URL: http://localhost/myApp/app/job/7#/Nmbr

Когда я попытался получить URL-адрес из HttpContext.Request или HttpContext.Current.Request, данный URL-адрес: /myApp/app/job/7

# а все что после этой буквы отсутствует? Почему? Как я могу получить реальный текущий URL-адрес?


person Kle    schedule 21.08.2015    source источник


Ответы (2)


Http-запросы не содержат ничего после # (браузер не отправляет его вместе с запросом).

# Предназначен для того, чтобы параметры могли указываться только для браузера (целевое местоположение привязки или часто с параметрами JavaScript Web 2.0)

Чтобы передать параметры на сервер, используйте ?, который стоит перед #.

Вот некоторая информация относительно фрагментов (часть URL-адреса после #)

person major-mann    schedule 21.08.2015
comment
Но я использую угловой пользовательский интерфейс. Так что '#' следует использовать для механизма маршрутизации в этом плагине. Может быть, я должен найти другой способ: S - person Kle; 21.08.2015
comment
Его можно увидеть или использовать только на клиенте. Когда вы перейдете на угловую страницу без #, она перенаправит вас на пункт otherwise в вашей конфигурации маршрутизации. Когда он выполняет это перенаправление, он фактически меняет только часть после # и не делает запрос к серверу (поскольку ресурс сервера, идентифицированный с помощью URL-адреса, не изменился, и вся обработка выполняется в javascript) - person major-mann; 21.08.2015
comment
Верно. Фрагмент не отправляется на сервер. Вы не можете получить его там, и точка. - person Patrick Hofman; 16.09.2015

Свойство Fragment получает любой текст, следующий за маркером фрагмента (#) в URI, включая сам маркер фрагмента. Учитывая URI http://www.contoso.com/index.htm#main, свойство Fragment вернет #main.

https://msdn.microsoft.com/en-us/library/system.uri.fragment(v=vs.110).aspx
person Vishal    schedule 21.08.2015
comment
Не будет работать, так как фрагмент не отправляется на сервер. - person Patrick Hofman; 16.09.2015