Auf der Arbeit verwenden wir Sharepoint-Listen, um strukturiert vorliegende Informationen als Datensätze abzulegen.
Um in E-Mails auf bestimmte Listenelemente verlinken zu können, war ich auf der Suche nach einer Permalink-Funktion. Diese existiert mit der View DispForm.aspx, welche den mit ID in einer GET-Variable referenzierten in einer eigenständigen Seite anzeigt (sprich: kein Overlay über die Listenansicht, offenbar das Standardverhalten von Sharepoint).
Die Permalink-URL für die Liste „MyServers“ schaut folgendermassen aus:
http://domain.tld/lists/MyServers/DispForm.aspx?ID=1234
Doch wie zeige ich diesen Permalink in der Ansicht der gesamten Liste (AllItems.aspx) als Feld für jeden Datensatz an, ohne Quellcode von Web-Seiten oder den Sharepoint Designer zu bemühen? Ganz einfach:
Man erstelle eine neue „Calculated Column“ in der Listenansicht und definiere dafür folgende Funktion:
="<a href='http://domain.tld/lists/MyServers/DispForm.aspx?ID=" & [ID] & "'>" & [Servername] & "</a>"
Speichert man das Feld, wird einem der HTML-Code im Klartext angezeigt. Damit stattdessen der Link gerendert wird, muss man den Typ der Spalte auf „Number (1, 1.0, 100)“ umschalten. Wie aus Zauberhand interpretiert Sharepoint den HTML-Code, und der Permalink kann kopiert werden.
Via: SharePoint 2010 calculated column and hyperlink (no workflows or scripts needed)