从列表中填充的Sharepoint XSL下拉列表

时间:2014-07-08 11:55:06

标签: xslt drop-down-menu sharepoint-2010

我正在尝试使用CEWP将项目列表显示为下拉列表。

具体来说,我试图将值设置为url,然后将标题设置为下拉列表中显示的项目。 这就是我到目前为止所拥有的

    <xsl:template name="HubJumpTo" match="Row[@Style='HubJumpTo']" mode="itemstyle">
<select id="mySelect"> 
    <xsl:for-each select="/item"> 
    <option>
    <xsl:attribute name="value"><xsl:value-of select="@value"/></xsl:attribute>
    <xsl:value-of select="@name"/>          
    </option> 
    </xsl:for-each> 

</select> 
</xsl:template>   

但是CEWP没有显示任何字段供我指定列表中的哪个coloumn应该popul; ate value和name。有什么建议可以吗?

下拉不会填充任何内容,我认为这是因为这个问题。

3 个答案:

答案 0 :(得分:0)

在你的问题中可能是一个拼写错误(在这种情况下,这个答案会自毁...),但问题可能出在这一行

 <xsl:for-each select="/item"> 

因为xpath表达式以正斜杠/开头,所以这表示文档节点,因此表达式正在查找名称 item 的根元素。文档中只有一个根元素,我猜它不是名为item!

您可能需要在此处使用相对表达式,假设 item 是当前匹配的元素的子元素。

 <xsl:for-each select="item"> 

答案 1 :(得分:0)

你的查询看起来有点含糊不清,你说CEWP即“内容编辑器Webpart”你怎么能用CEWP和XSLT进行渲染列表?它应该是,您需要添加列表视图webpart并将自定义xslt路径传递给它。 我也看到match =“Row [@ Style ='HubJumpTo']”所以你有一个名为'Style'的专栏吗?并且是否有任何值为“HubJumpTo”的行

答案 2 :(得分:0)

最后使用SP服务来解决这个问题。