无法使用SharePoint 2010 Designer在HTML标记中使用List Lookup XSL参数

时间:2013-07-20 16:44:42

标签: xslt sharepoint-2010 sharepoint-designer

所以我在两个视图中的几个列字段中添加了一个span标记,所有表单都在SP 2010 Designer中有一个Hexadec字符串,我使用内联样式来显示一个带有彩色背景的块比hexadec本身,非常简单。

我在第一个视图中成功实现了这个,但是在第二个视图中我似乎无法返回要在内联样式中使用的值,下面是原始xsl而行param是thisNode。视图中唯一的区别是一个是自定义列表的视图(这一个正在工作),另一个是另一个自定义列表的视图,其中前面的列表值作为查找列,列xsl值在下面。

<xsl:value-of select="$thisNode/@*[name()=current()/@Name]" disable-output-escaping="yes" />

我已经尝试将{$ thisNode / @ * [name()= current()/ @ Name]}添加到内联css中,但在查看表单时应该看到一块颜色时没有返回任何内容。我也尝试过其他方法从thisNode行获取值但没有运气,有人能告诉我我应该做什么或我做错了什么?

1 个答案:

答案 0 :(得分:1)

解决了!

所以第一步是删除Loopup列周围的超链接:

<xsl:value-of select="substring-before(substring-after($thisNode/@*[name()=current()/@Name],'&gt;'), '&lt;')" disable-output-escaping="yes"/>

然后将Lookup列值显示为文本;所以我们可以使用这个方法来创建另一个参数或变量,并将值添加到我们的css参数中,如下所示:

<xsl:param name="thisNode" select="."/>
<xsl:param name="thisColour" select="substring-before(substring-after($thisNode/@*[name()=current()/@Name],'&gt;'), '&lt;')"/>
<span style="display:block;background:{$thisColour};width:20px;height:20px;" title=""></span>

然后将我的Hexadec颜色显示为20px块而不是Hexadec代码作为文本,所以希望这可以帮助其他有同样问题的人,享受!