2010-06-17 2 views
0

Мне нужно получить текущий абсолютный URL-адрес моего сайта из страницы aspx (без кода). Я пробовал $ SPUrl, но он преобразуется в относительный URL.Получение абсолютного URL-адреса SharePoint

<asp:Literal runat="server" text="<% $SPUrl:~Site/mypage.aspx %>" /> 

Результаты в "/mypage.aspx". Очень важно, чтобы я получил полный абсолютный URL-адрес, начиная с «http: //».

<asp:Literal runat="server" text="<% $SPUrl:~SiteCollection/mypage.aspx %>" /> 

делает то же самое. Цель состоит в том, чтобы получить этот URL: «http://myspweb.com/mypage.aspx».

ответ

0

Вы можете использовать SPContext.Current.Site.Url, чтобы получить абсолютный адрес текущего семейства сайтов:

<%@ Import Namespace="Microsoft.SharePoint"%> 
<!-- ... -->  
<%= SPContext.Current.Site.Url %> 
1

Джейсон правильно о том, как получить URL.

Одна вещь, чтобы понять, однако, о SharePoint, может быть не фактический «истинный» абсолютный URL-адрес сайта. С помощью базы данных контента SharePoint вы можете расширить приложение на различные приложения IIS, которые имеют разные web.configs и т. Д. Часто люди делают это, когда у них есть экстрасеть для сотрудников (безопасность Active Directory), но затем захочет разрешить клиентам через Forms Аутентификация на основе. Это одна из основных причин, по которой SharePoint преобразует объекты в относительный URL.

+0

SPSite.ServerRelativeUrl предоставит вам относительный URL-адрес корневого сайта в вашем семействе сайтов. Это может решить обе проблемы. –

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