UPDATE (01/17/08): Hierdie blog inskrywing praat oor meer hyperlink XSL goedheid: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.
Oorsig en objektiewe: I had created a simple bar chart to serve as component on a dashboard. I’ll save the details on building charts for another post, maar ek het nie uitvind dat die tegniek (of die vraagteken, vir die saak). It turned out there was a bug in the chart and while I fixed that, I took the opportunity to convert some labels into hyperlinks that pointed at the underlying list behind the graph. Byvoorbeeld, there is a label with value "Hold". I wanted to turn the label into a hyperlink so that the user could click on it and drill down to the specific entries in the list whose status value is "Hold".
Stappe:
- Gebruik visuele ateljee vir Sharepoint-bewus IntelliSense.
- Kopieer die DVWP se XSLT in Visual Studio (die skep van 'n leë projek, voeg 'n XSL-lêer aan die projek).
- Kopieer die skakel wat jy wil gebruik in die knipbord.
- Plak dit in die regte plek in die XSL.
- Skakel URL argument skeiers op die navraag string uit "&" na "&"
- Url-enkodeer individuele argumente.
- Draai dat binne 'n <a href…> </1>
Voorbeeld:
Ek het 'n URL:
http://[bediener]/[webwerf]/Lyste / Open% 20Positions/AllItems.aspx?Sien ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&FilterValue1 = Hou
Ek sit dit in:
<1 href="Lyste / Open% 20Positions/AllItems.aspx?Sien =% 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1% 7d&FilterField1 = Recruiter&FilterValue1 = Hou"> Hou: </1>
Ek het die hand omskep die eerste argument van:
{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
aan:
%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1% 7d
(In hierdie, die oop stut verander na% 7b en die sluitingsdatum stut transformeer na% 7d)
Die tweede en derde argumente’ parameters ("FilterField1 =Recruiter" en "FilterValue1 =Hou" onderskeidelik) hoef nie te URL-geïnkripteer wees omdat hulle nie 'n onveilige karakters bevat.
Notas:
Hierdie tegniek word in die algemeen werk waar jy wil 'n skakel in die XSLT waar die hyperlink sluit parameters op die URL soos in te sluit:
http://[bediener]/[webwerf]/Lyste / Open% 20Positions/AllItems.aspx?Sien ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&FilterValue1 = Hou
Ek het die URL self deur die toegang tot die persoonlike lys, en met die hand filter op die status kolom (gemerk "Recruiter" bo).