Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xslt 如何:在Sharepoint搜索XSL中使用querystring参数?_Xslt_Search_Sharepoint 2010_Query String - Fatal编程技术网

Xslt 如何:在Sharepoint搜索XSL中使用querystring参数?

Xslt 如何:在Sharepoint搜索XSL中使用querystring参数?,xslt,search,sharepoint-2010,query-string,Xslt,Search,Sharepoint 2010,Query String,这是我第一次尝试处理XSL,所以请客气一点:) 我正在修改SharePoint 2010 peoplesearch结果页,特别是“在组织浏览器中查看”行。我已将orgbrowser Web部件添加到我们的主站点,不想为该链接将用户引导到mysite 以下是修改后的代码: <a id="{concat($currentId, '_OrgBrowserLink')}" href="/search/pages/orgbrowser.aspx?accountname={string(account

这是我第一次尝试处理XSL,所以请客气一点:)

我正在修改SharePoint 2010 peoplesearch结果页,特别是“在组织浏览器中查看”行。我已将orgbrowser Web部件添加到我们的主站点,不想为该链接将用户引导到mysite

以下是修改后的代码:

<a id="{concat($currentId, '_OrgBrowserLink')}" href="/search/pages/orgbrowser.aspx?accountname={string(accountname)}">&#187; <xsl:value-of select="$ViewHiearchyLabel" /></a>

上面的代码运行良好。但是,我发现添加搜索结果查询字符串参数时遇到问题。参数为“k”

  • 我发现我无法附加“&”符号(因为它很可能是一个特殊的保留字符)。我已尝试“%26”,但它之前的accountname参数似乎有问题(我收到一个“用户未找到”相关ID错误)

  • 我对xsl的工作原理了解有限,似乎无法掌握查询字符串参数“k”。有人能启发我吗


谢谢大家

不幸的是,People Search Results web部件没有将当前url作为参数传递。但是,它会传递其他几个确实包含当前查询字符串的URL参数。因此,解决方案是使用其中之一,解析出'k'参数中的值并将其附加到URL

我使用了$NameSortUrl XSL参数

我使用函数前的子字符串和函数后的子字符串并将值保存在变量中,从而解析出“k”参数的值:

<xsl:variable name="kVal" select="substring-before(substring-after($NameSortUrl, 'k='), '&amp;')"/>

然后,我将此值附加到url,如下所示:

<a id="{concat($currentId, '_OrgBrowserLink')}" href="/search/pages/orgbrowser.aspx?accountname={string(accountname)}&amp;k={$kVal}">

注意使用HTML编码来获取url(&)中的符号

希望这对将来的其他人有用