OPPDATERINGEN (01/17/08): Dette blogginnlegget snakker om mer hyperkobling XSL godhet: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.
Oversikt og mål: Jeg hadde laget et enkelt stolpediagram som komponent på et instrumentbord. Jeg vil lagre detaljene på å bygge diagrammer for en annen post, men jeg fant ikke opp det teknikken (eller spørsmålstegnet, for saks skyld). Det viste seg det var en feil i diagrammet, og mens jeg løst som, Jeg benyttet anledningen til å konvertere noen etiketter i hyperkoblinger som pekte på den underliggende listen bak diagrammet. For eksempel, Det er en etikett med verdien "Hold". Jeg ønsket å slå etiketten til en hyperkobling, slik at brukeren kan klikke på den og gå til bestemte oppføringer i listen som er "Hold".
Trinn:
- Bruk visual studio for å SharePoint-aware intellisense.
- Kopier den DVWP XSLT til visual studio (opprette et tomt prosjekt, Legg en XSL-fil til prosjektet).
- Kopiere koblingen du vil bruke til utklippstavlen.
- Lim den inn i den riktige lokasjonen i XSL.
- Konvertere URL argumentet skilletegn på spørsmålet hyssing fra"&" til"&"
- URL-kode argumenter.
- Vikle den inne en <et href…> </en>
Eksempel:
Jeg har en URL-adresse:
http://[Server]/[nettstedet]/Lists/Open Positions/AllItems.aspx?Vis ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = rekrutterer&FilterValue1 = vent
Jeg konvertere den til:
<en href="Lists/Open Positions/AllItems.aspx?Vis = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 %7 d&FilterField1 = rekrutterer&FilterValue1 = vent"> Hold: </en>
Jeg har manuelt forvandlet det første argumentet fra:
{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
til:
%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 %7 d
(I dette, åpningsparentes transformeringene til % 7b og avsluttende klammeparentes transformeringer til %7 d)
Andre og tredje argumentene’ parametere ("FilterField1 =Rekrutterer" og "FilterValue1 =Hold" henholdsvis) trenger ikke å være url-kodede fordi de ikke inneholder usikre tegn.
Notater:
Denne teknikken bør generelt arbeide hvor som helst du vil bygge inn en hyperkobling i XSLT der hyperkoblingen inneholder parameterne i Webadressen som:
http://[Server]/[nettstedet]/Lists/Open Positions/AllItems.aspx?Vis ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = rekrutterer&FilterValue1 = vent
Jeg fikk selve Webadressen ved tilgang til den egendefinerte listen og manuelt filtrering på statuskolonnen (merket "rekrutterer" ovenfor).
Cristina, den 84EE.. er en GUID som identifiserer listen internt. Du kan få det ved å trekke opp visningen i webleseren og inspisere nettadressen i nettleseren.
hvor eller hvordan genererer denne koden ' 84EEA2F5-121B-40B7-946F-0FA704A1DAA1′
Kan være mulig å gjøre dette …&FilterField1 = rekrutterer Center &FilterValue1 = Hold CE / ASM?
Eller
Må jeg fjerne mellomrommene mellom dem?