This is a nice quick one...
If you try to use normal relative URL paths, then you may run into a spot of bother when trying to call a URL path that is relative to the Site Collection, especially when you have multiple Site Collections in your web application:
http://RootSite/sites/ThisSite/
How do you make an URL that is relative to the "ThisSite" site collection?
Well, you could hard-code the URL prefix, but that doesn't really sit very well for most implementations, especially when using multiple-access mappings, you might have multiple URLs for the same site collection!
Alternatively, you can use the SPUrl function:
Code Sample:
This example code will take you to the Site Settings page for the current Site Collection.
<a runat="server" href="<% SPUrl:~SiteCollection\_layouts\settings.aspx %>">Go to Top Level Site Settings</a>
Note - You must use the runat="server" attribute, otherwise it will send the literal text of <% SPUrl ...%> instead of the desired relative URL!
Also, you will need to add a reference to the Microsoft Publishing Assembly in the header tags; for that, see this blog
Publishing Header Tags
Thanks go to Hannah Scott (and her subsequent source) for this blog post.
<%@ Register Tagprefix="PublishingWebControls" Namespace="Microsoft.SharePoint.Publishing.WebControls" Assembly="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="PublishingNavigation" Namespace="Microsoft.SharePoint.Publishing.Navigation" Assembly="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="PublishingVariations" TagName="VariationsLabelMenu" src="~/_controltemplates/VariationsLabelMenu.ascx" %>
<%@ Register Tagprefix="PublishingConsole" TagName="Console" src="~/_controltemplates/PublishingConsole.ascx" %>
<%@ Register TagPrefix="PublishingSiteAction" TagName="SiteActionMenu" src="~/_controltemplates/PublishingActionMenu.ascx" %>
No comments:
Post a Comment
This blog has been moved to www.martinhatch.com
Note: only a member of this blog may post a comment.