АКТУАЛИЗИРАНЕ (01/17/08): Този блог влизане говори за повече хипервръзка XSL доброта: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.
Преглед и цел: Съм създал проста стълбовидна диаграма да служи като елемент на табло. Ще запишете детайлите за изграждане на диаграми за друг пост, но аз не измислям тази техника (нито въпросителен знак, за този въпрос). Оказа се, имаше един бъг в диаграмата и докато оправих това, Аз взех възможност да конвертирате някои етикети в хипервръзки, които посочи основните списъка зад графиката. За пример, има етикет със стойност "Hold". Исках да се превърне на етикета в хипервръзка, така че потребителят може да щракнете върху нея и пробия конкретни записи в списъка, чийто статут стойност е "Държи".
Стъпки:
- Използвайте visual studio за SharePoint-aware intellisense.
- Копирайте DVWP XSLT в visual studio (създаване на празен проект, Добавяне на XSL файл към проекта).
- Копиране на връзката, която искате да използвате в клипборда.
- Да го поставите на правилното място в XSL.
- Превръщам URL аргумент Сепаратори на низа на заявката от"&" "&усилвател;"
- URL-кодиране на отделните аргументи.
- Пренася тази в <a href…> </а>
Пример:
Аз имам URL:
HTTP://[сървър]/[сайт]/Lists/Open Positions/AllItems.aspx?Изглед ={84EEA2F5-121Б-40B7-946F-0FA704A1DAA1}&FilterField1 = работодател&FilterValue1 = задържане
Аз превръщам то в:
<а HREF="Lists/Open Positions/AllItems.aspx?Изглед = % 7b84EEA2F5-121б-40B7-946F-
0FA704A1DAA1 %7 d&усилвател;FilterField1 = работодател&усилвател;FilterValue1 = задържане"> Задръжте: </а>
Ръчно са трансформирани първият аргумент от:
{84EEA2F5-121Б-40B7-946F-0FA704A1DAA1}
за да:
%7b84EEA2F5-121б-40B7-946F-0FA704A1DAA1 %7 d
(В този, отваряща фигурна скоба трансформации на % 7б и затваряне подпре трансформации на %7 d)
Втората и третата аргументи’ параметри ("FilterField1 =Работодател" и "FilterValue1 =Задръжте" съответно) не е нужно да бъде url кодиран, защото те не съдържат никакви опасни знаци.
Бележки:
Тази техника като цяло трябва да работи навсякъде, където искате да вградите хипервръзка в XSLT, където хипервръзката включва параметрите на URL като:
HTTP://[сървър]/[сайт]/Lists/Open Positions/AllItems.aspx?Изглед ={84EEA2F5-121Б-40B7-946F-0FA704A1DAA1}&FilterField1 = работодател&FilterValue1 = задържане
Аз имам себе си сайт от достъп до потребителския списък и ръчно филтриране на колоната състояние (надпис "работодател" по-горе).