从数据表单Web部件中的列表中提取数据

时间:2012-05-10 11:05:56

标签: sharepoint sharepoint-2010

由于有些荒谬的业务规则限制,这对我遇到的问题可能是一个过于复杂的解决方案。

我有一个sharepoint站点,应该是表单的中央存储库。所以我在文档库中有这些表单只有问题不是所有表单都在那里,一些信息表格形式在其他地方托管,而一些“表单”实际上是其他网页。所以我设置了一个带有表单名称的List,以及一个存储该表单位置的URL的列(包含在本地库中的表单)但是,sharepoint对URL列类型有一个RIDICULOUS限制,包含255个字符,一行文本具有相同的愚蠢限制,因此我将列创建为多行文本字段。我需要超过255个字符,因为一些infopath表单URL相当冗长。 现在,dataform Web部件的数据源是List。在我的aspx页面中,我有以下内容,我想到的应该是文本,即表单位置的URL,格式为超链接。

<ul><a href="{@FormLocation}" target="_blank">
<xsl:value-of select="@Title" /></a></ul></td>

这是通过文本并将其格式化为超链接的部分。 @FormLocation是带有文本url的列。 @Title是表格标题。

所发生的情况是,渲染的HTML get填充了我想要的url,但它是PREFIXED以及以下内容。

http://MYSITESSANITISEDURL.za/en/prettysanitary/Documents/%3Cdiv%20class=%22ExternalClassDF5DF9081DE54EECB4500A4E7B5592A1%22%3E%3Cdiv%3E%3Ca%20href=%22

然后放置我需要的文本,然后用

作为后缀
</a></div></div>

放入的前缀实际上是webpart所在页面的位置。

有没有人知道为什么

<a href="{@FormLocation}" target="_blank">

比@FormLocation列中实际存在的更多?

我对sharepoint非常陌生,而且这里的5个共享点“guru's”根本不知道。

1 个答案:

答案 0 :(得分:0)

我会使用&lt; xsl:copy-of select =“* | @ *”\&gt;来检查该列的XML内容。然后你可能需要使用xsl:value与xsl:value-of

转义/ noescaping FormLocation显示