2011-02-08 52 views
0

我创建了一个Schema.xml的一个“通过我的团”视图的任务列表,使用最知名的解决方案:SharePoint 2010中列表查看故障:不工作CAML查询组选择

<Query> 
    <Where> 
    <Or> 
     <Membership Type="CurrentUserGroups"> 
     <FieldRef Name="AssignedTo"/> 
     </Membership> 
     <Eq> 
     <FieldRef Name="AssignedTo"/> 
     <Value Type="Integer"> 
      <UserID/> 
     </Value> 
     </Eq> 
    </Or> 
    </Where> 
</Query> 

然而,它不工作对我来说... 可能的原因:我使用的是令牌FBA认证(我注意到,该登录后

SPFederationAuthenticationModule.SetPrincipalAndWriteSessionToken(securityToken); 

用户从SharePoint组中消失)。 但是! 我查下一个查询:

string camlquery = 
"<Where> 
     <Eq> 
      <FieldRef Name=\"AssignedTo\" /> 
      <Value Type=\"Text\">" + SPContext.Current.Web.CurrentUser.Groups[0].Name+ "</Value> 
     </Eq> 
</Where>"; 

和它的工作!

的问题是,我不能插入

SPContext.Current.Web.CurrentUser.Groups[0].Name 

到Schema.xml的标记

任何想法有关呈现相应用户组任务列表查看?

回答

0

对不起,我的错。问题出在自定义的Membership Provider中。它有点混杂起来(成员身份验证使用CardId作为登录名,而在SharePoint登录名中则是名称+姓氏)。 这就是为什么<Membership Type="CurrentUserGroups">没有UserGroups,因为它是在分配给登录名+姓的用户的SharePoint组中的Login'CardId'的相应用户。

关于stackoverflow的第一个问题失败^ _ ^。