UPDATE (01/17/08): Blog entry ini berbicara tentang lebih hyperlink XSL kebaikan: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.
Ikhtisar dan tujuan: Saya telah menciptakan sebuah sederhana bar chart untuk melayani sebagai komponen pada dashboard. Aku akan menyimpan rincian membangun grafik untuk pos lain, tapi aku tidak menemukan bahwa teknik (atau tanda tanya, Hal ini). Ternyata ada bug dalam grafik dan sementara aku tetap yang, Aku mengambil kesempatan untuk mengubah label beberapa menjadi hyperlink yang menunjuk pada daftar mendasar di balik grafik. Misalnya, Ada sebuah label dengan nilai "Hold". Saya ingin mengubah label menjadi hyperlink sehingga pengguna bisa klik di atasnya dan telusuri entri tertentu dalam daftar yang nilainya status adalah "Hold".
Langkah-langkah:
- Menggunakan visual studio untuk SharePoint-aware intellisense.
- Menyalin DVWP XSLT ke visual studio (membuat proyek kosong, Tambahkan file XSL proyek).
- Salin link Anda ingin menggunakan ke clipboard.
- Menyisipkannya ke lokasi yang tepat di XSL.
- Mengubah URL argumen pemisah pada string permintaan dari"&" untuk"&"
- Argumen individu URL encode.
- Bungkus bahwa dalam <a href…> </a>
Contoh:
Saya memiliki sebuah URL:
http://[Server]/[situs]/Lists/Open Positions/AllItems.aspx?Lihat ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = perekrut&FilterValue1 = terus
Saya mengkonversi ke:
<a href="Lists/Open Positions/AllItems.aspx?Lihat = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 %7 d&FilterField1 = perekrut&FilterValue1 = terus"> Terus: </a>
Saya telah secara manual berubah argumen pertama dari:
{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
untuk:
%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 %7 d
(Dalam hal ini, transformasi penjepit terbuka untuk % 7b dan penutup penjepit mentransformasi %7 d)
Argumen kedua dan ketiga’ parameter ("FilterField1 =Perekrut" dan "FilterValue1 =Terus" masing-masing) tidak perlu untuk menjadi url-encoded karena mereka tidak mengandung karakter yang tidak aman.
Catatan:
Teknik ini umumnya harus bekerja di mana saja Anda ingin menanamkan hyperlink dalam XSLT mana mencakup hyperlink parameter pada URL seperti:
http://[Server]/[situs]/Lists/Open Positions/AllItems.aspx?Lihat ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = perekrut&FilterValue1 = terus
Aku punya alamat URL sendiri dengan mengakses daftar kustom dan secara manual penyaringan pada kolom status (berlabel "perekrut" di atas).