განახლების (01/17/08): ეს ბლოგი შესვლის საუბრობს უფრო ჰიპერბმულის XSL სიკეთე: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.
მიმოხილვა და მიზანი: 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, მაგრამ მე არ გამოგონება, რომ ტექნიკურად (არც კითხვის ნიშნის, თუ საქმე). 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. მაგალითად, 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".
ნაბიჯი:
- გამოყენება ვიზუალური სტუდია SharePoint იცის Intellisense.
- ასლი DVWP ნახვა XSLT შევიდა ვიზუალური სტუდიაში (შექმნა ცარიელი პროექტი, დავამატებთ XSL ფაილი პროექტი).
- ასლი რგოლი გსურთ გამოიყენოთ შევიდა ბუფერში.
- ჩასვით უფლება მდებარეობა XSL.
- Convert URL argument separators on the query string from "&" to "&"
- Url-encode ინდივიდუალური არგუმენტები.
- ძებნა რომ შიგნით <კონფერენცია…> </a>
მაგალითი:
მე მაქვს URL:
http://[სერვერზე]/[საიტი]/სიების / ღია% 20Positions/AllItems.aspx?ნახვა ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = recruiter&FilterValue1 = გამართავენ
I გარდაქმნას იგი შევიდა:
<a კონფერენცია="სიების / ღია% 20Positions/AllItems.aspx?ნახვა =% 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1% 7d&FilterField1 = recruiter&FilterValue1 = გამართავენ"> გამართავს: </a>
მე ხელით გარდაიქმნება პირველი არგუმენტი:
{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
to:
%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1% 7d
(ამ, ღია მუდმივი წინააღმდეგობა გაუწიოს გარდაქმნას აქ% 7 ბ და დახურვის მუდმივი წინააღმდეგობა გაუწიოს გარდაქმნას აქ% 7d)
მეორე და მესამე არგუმენტები’ პარამეტრების ("FilterField1=Recruiter" and "FilterValue1=გამართავს" შესაბამისად) არ საჭიროებს url-კოდირებით, რადგან არ შეიცავს რაიმე სახიფათო გმირები.
შენიშვნები:
ეს ტექნიკა უნდა ზოგადად მუშაობა სადმე გსურთ ხმა ჰიპერბმულებს XSLT სადაც ჰიპერბმულის მოიცავს პარამეტრების URL როგორიცაა:
http://[სერვერზე]/[საიტი]/სიების / ღია% 20Positions/AllItems.aspx?ნახვა ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = recruiter&FilterValue1 = გამართავენ
მე მივიღე URL თავად წვდომის საბაჟო სიაში და ხელით ფილტრაცია სტატუსის შესახებ სვეტი (labeled "Recruiter" ზემოთ).