2010-06-17 2 views
0

Je dois obtenir l'URL absolue actuelle de mon site depuis une page aspx (pas de code derrière). J'ai essayé $ SPUrl, mais il est converti en URL relative.Obtention de l'URL de site absolu SharePoint

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

résultats dans "/mypage.aspx". Il est important que je reçois l'URL absolue complète commençant par "http: //".

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

fait la même chose. Le but est d'obtenir cette URL: "http://myspweb.com/mypage.aspx" comme résultat.

Répondre

0

Vous pouvez utiliser SPContext.Current.Site.Url pour obtenir l'URL absolue de la collection actuelle du site:

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

Jason est correct sur la façon d'obtenir l'URL. Une chose à réaliser cependant à propos de SharePoint est qu'il n'y a peut-être pas d'URL de site absolue «vraie». Avec une base de données de contenu SharePoint, vous pouvez étendre l'application à différentes applications IIS qui ont différents web.configs, etc. Souvent, les utilisateurs le font lorsqu'ils ont un extranet pour les employés (sécurité Active Directory), mais ils veulent autoriser les clients via les formulaires. Authentification basée. C'est l'une des principales raisons pour lesquelles SharePoint convertit les choses en une URL relative.

+0

SPSite.ServerRelativeUrl vous donnera l'URL relative du serveur du site racine de votre collection de sites. Cela pourrait résoudre les deux problèmes. –

Questions connexes