2015-08-21 8 views
0

Мой URL является: http://localhost/myApp/app/job/7#/NmbrОтсутствует буква «#» в HttpContext.Request или HttpContext.Current.Request url?

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

# и все после этого письма не хватает? Зачем? Как я могу получить настоящий текущий URL?

ответ

2

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

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

для передачи параметров использования ? сервера, который появляется перед #

Вот некоторые information относительно фрагментов (часть URL AFTE r #)

+0

Но я использую угловой ui-router. Поэтому '#' следует использовать для маршрутизации mecanism в этом плагине. Может быть, я должен найти другой способ: S – Kle

+0

Это только когда-либо видели или использовали на клиенте. Когда вы переходите на угловую страницу без '#', она перенаправляет вас к предложению 'other' в вашей конфигурации маршрутизации. Когда он делает это перенаправление, он будет эффективно изменять только часть после '#', а не делать запрос на сервер (поскольку ресурс сервера, идентифицированный с URL-адресом, не изменился, и вся обработка выполняется в javascript) –

+0

Действительно. Фрагмент не отправляется на сервер. Вы не можете получить его там, период. –

1

Свойство 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 
+0

Не будет работать, поскольку фрагмент не отправляется на сервер. –

 Смежные вопросы

  • Нет связанных вопросов^_^