Я хочу, чтобы ссылка на логотип сайта на главной странице всегда перенаправлялась на домашнюю страницу семейства корневых сайтов. Поведение по умолчанию - перенаправление на домашнюю страницу текущего веб-сайта (spweb).
В SharePoint 2010 я мог бы это сделать, добавив атрибут NavigateUrl в элемент управления SPLinkButton на главной странице со значением ~ sitecollection следующим образом:
<SharePoint:SPLinkButton runat="server" NavigateUrl="~sitecollection/" id="onetidProjectPropertyTitleGraphic">
<SharePoint:SiteLogoImage name="onetidHeadbnnr0" id="onetidHeadbnnr2" LogoImageUrl="/_layouts/images/siteIcon.png" runat="server"/>
</SharePoint:SPLinkButton>
Однако в SharePoint 2013 элемент управления ссылкой на сайт был изменен на главной странице на SPSimpleSiteLink. Я попытался установить свойство NavigateUrl для этого элемента управления таким же образом, но он больше не работает.
<div id="siteIcon" class="ms-tableCell ms-verticalAlignTop">
<SharePoint:AjaxDelta id="DeltaSiteLogo" BlockElement="true" runat="server">
<SharePoint:SPSimpleSiteLink NavigateUrl="~sitecollection/" CssClass="ms-siteicon-a" runat="server" id="onetidProjectPropertyTitleGraphic" >
<SharePoint:SiteLogoImage CssClass="ms-siteicon-img" name="onetidHeadbnnr0" id="onetidHeadbnnr2" LogoImageUrl="/_layouts/15/images/siteIcon.png?rev=23" runat="server"/>
</SharePoint:SPSimpleSiteLink>
</SharePoint:AjaxDelta>
</div>
В качестве обходного решения я теперь удалил элемент управления оболочкой AjaxDelta и изменил SPSimpleSiteLink на старый SPLinkButton с добавленным атрибутом NavigateUrl. Кажется, что это работает.
Есть ли лучшие способы?