ನವೀಕರಿಸಲು (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".
ಹಂತಗಳನ್ನು:
- ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ ಬಳಸಿ ಶೇರ್ಪಾಯಿಂಟ್-ಅವೇರ್ ಇಂಟೆಲಿಸೆನ್ಸ್.
- ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ ಒಳಗೆ DVWP ತಂದೆಯ XSLT ನಕಲಿಸಿ (ಒಂದು ಖಾಲಿ ಯೋಜನೆಯನ್ನು ರಚಿಸಿ, ಯೋಜನೆಗೆ ಒಂದು XSL ಕಡತ ಸೇರಿಸಿ).
- ನೀವು ಕ್ಲಿಪ್ಬೋರ್ಡ್ಗೆ ಆಗಿ ಬಳಸಲು ಬಯಸುವ ಲಿಂಕ್ ಅನ್ನು ನಕಲಿಸಿ.
- XSL ಸರಿಯಾದ ಸ್ಥಳ ಅಂಟಿಸಿ.
- Convert URL argument separators on the query string from "&" to "&ಆಂಪಿಯರ್;"
- ಮಾಲಿಕ ವಾದಗಳು url-ಎನ್ಕೋಡ್.
- ಬಿಗಿಯಾದ ಒಂದು ಒಳಗೆ <ಒಂದು href…> </ಒಂದು>
ಉದಾಹರಣೆ:
ನಾನು ಒಂದು URL ಅನ್ನು ಹೊಂದಿದೆ:
HTTP://[ಪರಿಚಾರಕ]/[ಸೈಟ್]/ಪಟ್ಟಿಗಳು / ಓಪನ್% 20Positions/AllItems.aspx?= ವೀಕ್ಷಿಸಿ{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = ಹೊಸದಾಗಿ&FilterValue1 = ಹೋಲ್ಡ್
ನಾನು ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತವೆ:
<ಒಂದು href="ಪಟ್ಟಿಗಳು / ಓಪನ್% 20Positions/AllItems.aspx?7b84EEA2F5-121B-40B7-946F =% ವೀಕ್ಷಿಸಿ-
0FA704A1DAA1}&ಆಂಪಿಯರ್;FilterField1 = ಹೊಸದಾಗಿ&ಆಂಪಿಯರ್;FilterValue1 = ಹೋಲ್ಡ್"> ಹಿಡಿ: </ಒಂದು>
ನಾನು ಕೈಯಿಂದ ಮೊದಲ ವಾದವನ್ನು ಬದಲಾವಣೆಯಾಗುವುದಿಲ್ಲ:
{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
ಗೆ:
%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
(ಈ, ತೆರೆದ ಬ್ರೇಸ್% 7B ಗೆ ರೂಪಾಂತರ ಮತ್ತು ಮುಕ್ತಾಯದ ಕಟ್ಟುಪಟ್ಟಿಯ% 7D ಗೆ ರೂಪಾಂತರ)
ಎರಡನೇ ಮತ್ತು ಮೂರನೇ ವಾದಗಳು’ ನಿಯತಾಂಕಗಳನ್ನು ("FilterField1=ಹೊಸದಾಗಿ ಸೇರಿಸಿಕೊಳ್ಳುವವನು" and "FilterValue1=ಹಿಡಿ" ಅನುಕ್ರಮವಾಗಿ) ಅವರು ಯಾವುದೇ ಅಸುರಕ್ಷಿತ ಪಾತ್ರಗಳು ಹೊಂದಿರದೆ ಇರುವುದರಿಂದ URL-ಸಂಕೇತಿಸಲ್ಪಡುತ್ತವೆ ಅಗತ್ಯವಿಲ್ಲ.
ಟಿಪ್ಪಣಿಗಳು:
ಈ ವಿಧಾನವನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ನಗರದಲ್ಲಿ ನೀವು ಹೈಪರ್ಲಿಂಕ್ ನಂತಹ URL ಮೇಲೆ ನಿಯತಾಂಕಗಳನ್ನು ಒಳಗೊಂಡಿದೆ ಅಲ್ಲಿ XSLT ಒಂದು ಹೈಪರ್ಲಿಂಕ್ ಎಂಬೆಡ್ ಬಯಸುವ ಕೆಲಸ ಮಾಡಬೇಕು:
HTTP://[ಪರಿಚಾರಕ]/[ಸೈಟ್]/ಪಟ್ಟಿಗಳು / ಓಪನ್% 20Positions/AllItems.aspx?= ವೀಕ್ಷಿಸಿ{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = ಹೊಸದಾಗಿ&FilterValue1 = ಹೋಲ್ಡ್
ನಾನು ಕಸ್ಟಮ್ ಪಟ್ಟಿಯನ್ನು ಪ್ರವೇಶಿಸುವ ಮೂಲಕ URL ಅನ್ನು ಸ್ವತಃ ಸಿಕ್ಕಿತು ಮತ್ತು ಕೈಯಾರೆ ಸ್ಥಿತಿ ಲಂಬಸಾಲಿನಲ್ಲಿ ಫಿಲ್ಟರಿಂಗ್ (labeled "Recruiter" ಮೇಲೆ).
ಕ್ರಿಸ್ಟಿನಾ, 84EE ಎಂದು.. ಅನನ್ಯವಾಗಿ ಆಂತರಿಕವಾಗಿ ಪಟ್ಟಿ ಗುರುತಿಸಬಲ್ಲ ಒಂದು GUID ಆಗಿದೆ. ನಿಮ್ಮ ಬ್ರೌಸರ್ನಲ್ಲಿ ವೀಕ್ಷಿಸಿ ಎಳೆಯು ಮತ್ತು ನಿಮ್ಮ ಬ್ರೌಸರ್ನ URL ಅನ್ನು ಪರಿಶೀಲಿಸುವ ಮೂಲಕ ಪಡೆಯಬಹುದು.
ಅಲ್ಲಿ ಅಥವಾ ಹೇಗೆ ಈ ಕೋಡ್ '84EEA2F5-121B-40B7-946F ಸೃಷ್ಟಿಸಲು ಇಲ್ಲ-0FA704A1DAA1′
ಈ ಮಾಡಲು ಸಾಧ್ಯವಾಯಿತು …&FilterField1 = ಹೊಸದಾಗಿ ಸೆಂಟರ್ &FilterValue1 = ಸಿಇ ಹೋಲ್ಡ್ / ಎಎಸ್ಎಮ್?
ಅಥವಾ
ನಾನು ಅವುಗಳ ನಡುವೆ ಜಾಗಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಅಗತ್ಯವೇನು?