包含空字符串

我想为包含查询的SharePoint 2007编写CAML查询。

唯一的问题是我想使用如下逻辑:

如果我的搜索查询具有值,则使用包含查询搜索该搜索如果我的搜索查询为空,请从列表中选择所有项目

我尝试了几个查询(这是我的空案例):

<Query>
    <Where>
        <Or>
            <IsNull>
                <FieldRef Name="ImageFilter"/>
            </IsNull>
            <Contains>
                <FieldRef Name='ImageFilter'></FieldRef>
                <Value Type='Text'></Value>
            </Contains>
        </Or>
    </Where>
</Query>

<Query>
    <Where>
        <Contains>
            <FieldRef Name='ImageFilter'></FieldRef>
            <Value Type='Text'></Value>
        </Contains>
    </Where>
</Query>

但没有任何工作,

你能帮我解决吗?


如果我正确理解这一点,如果您将搜索查询传递给正在生成CAML查询的任何函数,那么您需要使用搜索词来查找包含该搜索词的项目。 如果没有搜索词存在,您想要返回所有项目。 虽然我不确定您使用什么来生成CAML,但最简单的方法是,如果搜索项未包含,则不要在查询中包含查询。 如果有搜索词,那么这应该工作

<Query>
  <Where>
    <Contains>
      <FieldRef Name='ImageFilter'>
      <Value Type='Text'>{searchterm}</Value>
    </Contains>
  </Where>
</Query>

其中{searchterm}是您要查找的术语。

链接地址: http://www.djcxy.com/p/64145.html

上一篇: contains empty string

下一篇: How to check checkboxes in caml query?