Snabb och enkel: Bädda in en hyperlänk i datavywebbdelen XSLT-

UPPDATERING (01/17/08): Detta blogginlägg talar om mer hyperlänk XSL godhet: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Översikt och mål: Jag hade skapat ett enkelt liggande diagram som komponent på en instrumentpanel. Jag ska spara information om att bygga diagram för en annan tjänst, men jag uppfinna inte denna teknik (inte heller frågetecken, för övrigt). Det visade sig att det var en bugg i diagrammet och medan jag fixade som, Jag passade på att konvertera några etiketter till hyperlänkar som pekade på den underliggande listan bakom grafen. Till exempel, Det finns en etikett med värde "Hold". Jag ville göra etiketten till en hyperlänk så att användaren kan klicka på den och gå ned till de specifika adresserna i listan vars statusvärde är "Hold".

Steg:

  1. Använd visual studio för SharePoint-medveten intellisense.
  2. Kopiera den DVWP XSLT till visual studio (skapa ett tomt projekt, lägger till en XSL-fil i projektet).
  3. Kopiera in länken som du vill använda till Urklipp.
  4. Klistra in det i rätt plats i XSL.
  5. Konvertera URL-argumentet avgränsare på frågesträngen från"&" till"&"
  6. URL-koda individuella argument.
  7. Radbryt att insidan en <en href…> </en>

Exempel:

Jag har en URL:

http://[servern]/[webbplats]/Lists/Open Positions/AllItems.aspx?Visa ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Rekryterarens&FilterValue1 = Hold

Jag omvandla den till:

     <en href="Lists/Open Positions/AllItems.aspx?Visa = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1% 7 d&amp;FilterField1 = Rekryterarens&amp;FilterValue1 = Hold"> Håll: </en>

Jag har manuellt förändrat det första argumentet från:

{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

till:

%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1% 7 d

(I detta, Öppna klammerparentes transformeringar till % 7b och avslutande hängslen transformeringar till % 7 d)

De andra och tredje argument’ parametrar ("FilterField1 =Rekryterarens" och "FilterValue1 =Håll" respektive) behöver inte vara url-kodade eftersom de inte innehåller några osäkra tecken.

Anteckningar:

Denna teknik bör generellt arbeta var du vill bädda in en hyperlänk i XSLT där hyperlänken innehåller parametrar i URL-adressen som:

http://[servern]/[webbplats]/Lists/Open Positions/AllItems.aspx?Visa ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Rekryterarens&FilterValue1 = Hold

Jag fick den URL-adressen själv genom att besöka den anpassade listan och manuellt filtrering på statuskolumnen (märkt "Rekryterarens" ovan).

6 tankar på "Snabb och enkel: Bädda in en hyperlänk i datavywebbdelen XSLT-

  1. Paul Galvin

    Cristina, att 84EE.. är en GUID som identifierar listan internt. Du kan få det genom att dra upp vyn i din webbläsare och inspektera URL-adressen i webbläsaren.

    Svar
  2. Cristina Perez Otaiza

    var eller hur genererar denna kod "84EEA2F5-121B-40B7-946F-0FA704A1DAA1′

    Kan vara möjligt att göra detta …&FilterField1 = rekryterare Center &FilterValue1 = håll CE / ASM?

    Eller
    Behöver jag ta bort blankstegen mellan dem?

    Svar
  3. Eric Anderson
    Har du några förslag för den situation där du vill överföra data från en SharePoint-lista som FilterValue1 värde, och där värdet i kolumnen kan innehålla et-tecken? (Jag har provat många olika sätt att koda/fly värdet, men har inte en hel del tur i förbigående det ordentligt.)
    Svar
  4. Costas Tsaklas
    Jag såg exempel på programmet Help Desk i det "fab 40'. Problemet jag inte vet hur intäkterna och det är därför jag ser fram emot steg om hur man gör det
    Svar
  5. Paul Galvin
    Jag uppfann inte det, men det är märkligt hur svårt det är att hitta.
    Jag kom över ett fungerande exempel på detta tror jag från en av de "fab 40" mallar.
    Det är datavywebbdelen med XSLT som genererar en graf. Jag tänker definitivt göra ett inlägg om det.
    Svar
  6. Costas Tsaklas
    Jag ser fram emot att inlägget om hur du skapar ett diagram. Jag har letat efter information om hur du skapar diagram baserat på listor (t.ex öppna, slutna frågor, procentsatser etc.) och jag kan inte hitta någon. Tack
    Svar

Lämna svar

Din e-postadress kommer inte att publiceras. behövliga fält är markerade *