2013-12-10 3 views
0

Как получить текущий URL запросаКак получить текущий URL запроса в Sharepoint 2013 в C#?

I типа в браузере:

http://srv-1/sites/1001/Account Documents/Order

но в Page_Load в моем управлении я получаю

HttpContext.Current.Request.Url = http://srv-1/_layouts/15/start.aspx

и

Page.Request.RawUrl = Page.Request.RawUrl

Мне нужно получить информацию: /Account Documents/Order

ответ

1

Это происходит из-за Minimal Download Strategy функции. Ваш URL-адрес переписывается SharePoint.

Самое простое решение - отключить эту функцию, но вы также можете попытаться получить URL-адрес через SPUtility.OriginalServerRelativeRequestUrl или реорганизовать свой код, не используя url, но текущую библиотеку или что-то еще.

+0

Он по-прежнему возвращают только "СРВ-1/сайтов/1001/_layouts/15/start.aspx"; и мне также нужно это:/Документы/Документы/Документ/Учет –

1

SharePoint делает это собственные переписывает URL, если бы вы попробовать, что, например, для страницы

Решение использовать специальное свойство на [класс SPUtility - SPUtility.OriginalServerRelativeRequestUrl] [1]

http://blog.voyta.net/2012/07/09/how-to-get-original-request-url-in-sharepoint/

Это свойство возвращает исходный URL-адрес до его перезаписи, что полезно, если вам нужно получить веб-сайт, с которого была загружена страница приложения.

Поскольку этот URL является сервер-относительны, чтобы получить полный URL, вы можете использовать:

SPUtility.GetFullUrl (SPContext.Current.Site, SPUtility.OriginalServerRelativeRequestUrl);

Это может быть полезно, если вам необходимо перенаправить, например, на тот же URL с некоторыми дополнительными параметрами.

Благодаря

+0

Он по-прежнему возвращает только «http: //srv-1/sites/1001/_layouts/15/start.aspx», и мне также нужно:/Документы / –

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