从cqwp中的用户类型字段获取ID和名称

时间:2014-06-12 09:23:52

标签: xslt sharepoint sharepoint-2010 content-query-web-part

我正在构建一个内容查询Web部件,该部件应该显示指向用户页面的链接。我从自定义列表中获取用户名,该列表包含“Person或Group”类型的名为“Member”的列。要在ItemStyle.xsl中构建链接,我需要用户的名称和ID:

<a href="http://<site>/_layouts/userdisp.aspx?ID=@ID">
    <xsl:value-of select="@Member" />
</a>

但是,我只能从内容查询中获取名称或ID。例如。如果我为Member列设置了“Show field:Name(with presence)”,我会得到名字,如果我设置“Show field:ID”,我显然会得到Id。但我需要两个!

我做了一些非常广泛的谷歌搜索,但我一直无法找到答案。我最接近的是:

http://social.technet.microsoft.com/Forums/en-US/e6a29bf0-82de-46b1-896a-9d45c8fd527f/sharepoint-2010-cqwp-how-to-get-the-user-id-from-a-user-field-type-value?forum=sharepointgeneralprevious

但回复并不能令我满意。任何帮助或想法将不胜感激!

1 个答案:

答案 0 :(得分:0)

使用XSL,我可以这样做:

<xsl:if test="@Contact.title != ''">
  <xsl:value-of select="@Contact" disable-output-escaping="yes"/>
</xsl:if>

这为我提供了带有名称的用户个人资料页面的链接(相当于显示名称的锚点)。

我知道这个问题有几个月了,希望这对某人有所帮助。 但我来到这个链接是因为我试图做同样的事情(使用JSOM获取id和Name)。我仍然没有答案。