UPDATE (01/17/08): Dieser Blog-Eintrag spricht über weitere Hyperlink XSL Güte: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.
Übersicht und Zielsetzung: Ich hatte ein einfaches Balkendiagramm dienen als Komponente auf einem Dashboard erstellt.. Ich werde die Details zum Erstellen von Diagrammen für eine andere Stelle zu retten, aber ich nicht, dass Technik erfinden (noch das Fragezeichen, für diese Angelegenheit). Es stellte sich heraus, dass gab es ein Bug im Diagramm, und während ich das behoben, Ich nutzte die Gelegenheit, einige Labels in Hyperlinks umwandeln, die auf die zugrunde liegende Liste hinter der Graph gerichtet. Zum Beispiel, Es gibt eine Bezeichnung mit dem Wert "Hold". Ich wollte das Label in einen Hyperlink umwandeln, so dass der Benutzer könnte darauf klicken und Drilldown bestimmte Einträge in der Liste, deren Status ist "Hold".
Schritte:
- Verwendung von visual Studio für SharePoint-fähige intellisense.
- Kopieren Sie die DVWP XSLT in visual studio (Erstellen Sie ein leeres Projekt, eine XSL-Datei dem Projekt hinzufügen).
- Kopieren Sie den Link in die Zwischenablage verwenden möchten.
- Fügen Sie ihn in die richtige Stelle in das XSL.
- Convert URL-Argument-Trennzeichen in der Abfragezeichenfolge aus"&" zu"&"
- URL-Kodierung einzelner Argumente.
- Wickeln, dass innen ein <ein href…> </eine>
Beispiel:
Ich habe eine URL:
http://[Server]/[Standort]/Lists/Open Positions/AllItems.aspx?Ansicht ={84EEA2F5-VOULIAGMENI-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&FilterValue1 = halten
Ich konvertiere es in:
<eine href="Lists/Open Positions/AllItems.aspx?Ansicht = % 7b84EEA2F5-Vouliagmeni-40B7-946F-
0FA704A1DAA1 % 7 d&FilterField1 = Recruiter&FilterValue1 = halten"> Halten: </eine>
Ich habe manuell das erste Argument von umgewandelt.:
{84EEA2F5-VOULIAGMENI-40B7-946F-0FA704A1DAA1}
An:
%7b84EEA2F5-Vouliagmeni-40B7-946F-0FA704A1DAA1 % 7 d
(In diesem, die öffnende geschweifte Klammer Transformationen % 7b und der schließenden Klammer Transformationen % 7 d)
Die zweiten und dritten Argumente’ Parameter ("FilterField1 =Personalvermittler" und "FilterValue1 =Halten" bzw.) müssen Sie nicht Url-codiert werden, da sie keine unsicheren Zeichen enthalten.
Hinweise:
Diese Technik sollte in der Regel überall arbeiten Sie einen Hyperlink in XSLT einbinden wo der Hyperlink Parameter für die URL wie enthält:
http://[Server]/[Standort]/Lists/Open Positions/AllItems.aspx?Ansicht ={84EEA2F5-VOULIAGMENI-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&FilterValue1 = halten
Ich habe die URL selbst durch den Zugriff auf die benutzerdefinierte Liste und manuell auf der Statusspalte Filtern (beschriftete "Recruiter" oben).