2011-02-08 51 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的第一個問題失敗^ _ ^。