假设我有一个名为事件的列表。
使用 SP Designer,我可以将 Web 部件添加到页面,选择事件列表,并且具有标准共享点控件和列筛选的数据网格将添加到页面,类似于任何列表的“allitems.aspx” View .
列过滤的好处是它使用 GET 请求,使用查询字符串,例如:
?FilterField1=位置&FilterValue1=usa&FilterField2=qtr&FilterValue2=q2
这使我能够构建网址并将其发送给人们,向他们显示预先过滤的数据。当不存在查询字符串时,将显示所有项目。
如何使用 xsl 数据 View 实现此目的?对这些内容的过滤是通过 POST 请求完成的(即 URL 永远不会更改或附加查询字符串)。我知道我可以设置一个查询字符串参数,然后根据该参数进行过滤,但是如果查询字符串不存在,则不会显示任何项目,因为它总是寻找查询字符串进行过滤。
有没有办法让 xsl 数据 View 在 GET 请求模式下工作?
最佳答案
是的,您可以做的是添加条件 xslt,如果存储查询字符串值的 xslt 参数为空,则显示所有结果,否则根据查询字符串的 xsl 参数对其进行过滤
<xsl:choose>
<xsl:when test="$qparam1=''">
<xsl:call-template name="allitem" />
</xsl:when>
<xsl:when test="$qparam1!=''">
<xsl:call-template name="filterdeitem">
<xsl:param filter1 = $qparam1/>
</xsl:call-template>
</xsl:when>
</xsl:choose>
关于Sharepoint XSL 数据 View 查询字符串过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5413475/