更新 (01/17/08): 这篇博客谈更多超链接 XSL 善良: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.
概述和目标: 我已经创建了一个简单的条形图,作为仪表板上的组件. 我会保存详细信息构建图表的另一篇文章, 但不是我发明的技术 (也不是问号, 对于那件事). 原来有一个 bug,在图表中,而我固定的, 我藉此机会将一些标签转换成指着背后的图基础列表的超链接. 例如, 有了一个标签值与"封存". 我想要变成超链接的标签,以便用户可以点击它,深入查看其状态的值是"持有"列表中的特定条目.
步骤:
- 使用 visual studio 为 sharepoint 识别的智能感知.
- 复制到 visual studio 中的 XSLT DVWP (创建一个空白的项目, 向项目中添加一个 XSL 文件).
- 复制的链接您想要使用到剪贴板.
- 将它粘贴到在 XSL 中的正确位置.
- 转换从查询字符串的 URL 参数分隔符"&" 到"&"
- Url 编码的各个参数.
- 包装里面那 <href…> </一>
示例:
我有一个 URL:
http://[服务器]/[网站]/Lists/Open Positions/AllItems.aspx?视图 ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = 招聘人员&FilterValue1 = 举行
转换成:
<一 href="Lists/Open Positions/AllItems.aspx?视图 = {84eea2f5-121B-40B7-946F-
0FA704A1DAA1%7 d&FilterField1 = 招聘人员&FilterValue1 = 举行"> 举行: </一>
我手动改变了从第一个参数:
{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
自:
%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1%7 d
(在这, 到 { 的左大括号转换和关闭括号转换至 %7 d)
第二和第三个参数’ 参数 ("FilterField1 =招聘人员" 和"FilterValue1 =举行" 分别) 不需要进行 url 编码,因为它们不包含任何不安全的字符.
备注:
这种技术通常应工作任何您想要在哪里该超链接包含 url 参数如 XSLT 中嵌入超链接的地方:
http://[服务器]/[网站]/Lists/Open Positions/AllItems.aspx?视图 ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = 招聘人员&FilterValue1 = 举行
我有 URL 本身所访问的自定义列表和手动筛选在状态列上 (标记"招聘人员" 以上).