包含空字符串
我想为包含查询的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