Kategorien
IT SharePoint

SharePoint: Aktuelle Seiten-URL in CustomAction verwenden

Manchmal kann es vorkommen, dass man in einer SharePoint-UrlAction innerhalb einer CustomAction die aktuelle Seite mitgeben möchte. Dies kann zum Beispiel sinnvoll sein, wenn man nach dem Klick auf den „OK“-Button auf der aufgerufenen Seite wieder auf die ursprüngliche Seite zurückkehren möchte.

Normalerweise ist eine CustomAction/UrlAction wie folgt aufgebaut:

<?xml version="1.0" encoding="utf-8">
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
   <CustomAction Id="MyAction" GroupId="PersonalActions" Location="Microsoft.SharePoint.StandardMenu" Sequence="1000" Title="My custom action">
        <UrlAction Url="~sitecollection/_layouts/page.aspx">
    </CustomAction>
</Elements>

Und leider gibt es kein eingebauten Platzhalter für die aktuelle Seite.

Mit etwas JavaScript kann man dieses Problem aber Lösen und den URL-Parameter „Source“ dynamisch abfüllen lassen:

<UrlAction Url="javascript:window.location='{SiteUrl}/_layouts/page.aspx?List={ListId}&Source=' + window.location">

SharePoint verwendet diesen Source-Parameter um den Benutzer auf die jeweilige Seite zu leiten.