SharePoint 2013使用CAML和用户ID查看过滤器

时间:2015-11-24 19:18:34

标签: sharepoint sharepoint-2013 sharepoint-designer caml

首先,我想提前感谢任何人的帮助。我正在使用SharePoint 2013,SharePoint Designer 2013,并尝试创建新的筛选视图...

我有一个条目列表,其中包含一个包含多个用户名的列。

  

例如:用户名1用户名2用户名3

我要做的是根据UserIDs列是否包含当前登录的用户来过滤视图。我在这个问题上找到了几个步骤,但似乎都没有用(我似乎无法做到这一点)。我认为它不起作用的原因是因为我们的SharePoint环境增加了一个“盐”。它拉到的每个用户名的开头。

  

Ex:i:0#.w | DomainName \ UserName

正如您在上面的专栏中所说,我将所有Salt / Domain信息都排除在外。有人会碰巧知道这是否可能? 如果是这样,在过滤之前我是否需要使用Jscript来提取用户名?

以下是我尝试过的三个例子......

Cookie[] cs = request.getCookies();
for(Cookie c: cs) {
    System.out.println(c.getName() + "  " + c.getValue());
    c.setValue(c.getValue() + " added Value");
    response.addCookie(c);
}
<Where>
<Contains>
<FieldRef Name='UserIDs' />
<Value Type='User'>System Account</Value>
</Contains>
</Where>
<Where>
<Contains>
<FieldRef Name='UserIDs' LookupId='True'  />
<Value Type='User'>1073741823</Value>
</Contains>
</Where>

1 个答案:

答案 0 :(得分:0)

我之前使用过这两个,他们工作过:

<Where>
 <Eq>
   <FieldRef Name="UserIDs" LookupId="TRUE" />
   <Value Type="User">1073741823</Value>
 </Eq>
</Where>

<Where>
  <Eq>
    <FieldRef Name="UserIDs" LookupId="TRUE" />
    <Value Type="Lookup">1073741823</Value>
  </Eq>
</Where>