Sharepoint XSL数据视图查询字符串筛选

Sharepoint XSL数据视图查询字符串筛选,sharepoint,list,dataview,Sharepoint,List,Dataview,假设我有一个叫做事件的列表 使用SP Designer,我可以将Web部件添加到页面,选择事件列表,并将带有标准sharepoint控件和列筛选的数据网格添加到页面,类似于任何列表的“allitems.aspx”视图 列筛选的好处在于它使用GET请求,使用查询字符串,例如: ?FilterField1=位置&FilterValue1=美国&FilterField2=qtr&FilterValue2=q2 这使我能够构建URL并将其发送给人们,向他们显示预过滤的数据。当不存在查询字符串时,将显示所

假设我有一个叫做事件的列表

使用SP Designer,我可以将Web部件添加到页面,选择事件列表,并将带有标准sharepoint控件和列筛选的数据网格添加到页面,类似于任何列表的“allitems.aspx”视图

列筛选的好处在于它使用GET请求,使用查询字符串,例如:

?FilterField1=位置&FilterValue1=美国&FilterField2=qtr&FilterValue2=q2

这使我能够构建URL并将其发送给人们,向他们显示预过滤的数据。当不存在查询字符串时,将显示所有项目

如何使用xsl数据视图实现这一点?对这些内容的过滤是通过POST请求完成的(即URL从不更改或附加查询字符串)。我知道我可以设置一个查询字符串参数,然后根据该参数进行筛选,但如果查询字符串不存在,则不会显示任何项目,因为它总是在查找要筛选的查询字符串


是否有任何方法可以使xsl数据视图在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>