0

我有一個SharePoint列表作爲項目(Word文檔,PPtx文檔,Excel文檔)作爲列(Admin,Viewer,Manager)和文檔類型的角色。我使用每個角色具有的每個文檔類型的權限填寫了相應的值。如何獲取單個listitem字段值?

我已經構建了一個包含2個下拉菜單的Web部件。 Dropdown1具有角色,Dropdown2具有Doc類型。

如何使用每個下拉列表中的選定值並查詢列表中的相應值?

我使用CAML還是可以使用SharePoint對象模型?

using (SPSite siteCol = new SPSite("http://mySharepoint/")) 
{ 
    using (SPWeb web = siteCol.RootWeb) 
    { 
     SPList list = web.GetList("/Lists/PermissionMatrix"); 

     SPListItem item = list.GetItemByIdSelectedFields([*Requires ID*], "Role"); 

     String role1= (String)item["Roles"]; 
    } 
} 

不工作,因爲我必須使用產品ID,我只能查詢使用CAML

請幫助的項目。謝謝

回答

0

在SharePoint 2010中給出了幾種技術和概念。首先是將SPQuery與CAML查詢結合使用以詢問與給定條件匹配的列表項。舉個例子,你應該看看MSDN(http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spquery.aspx)。

這個簡短的樣本正在尋找所有已完成的項目有一個列表項的ID大於20

var sampleQuery = new SPQuery(); 
sampleQuery.Query = @"<Where> 
    <And> 
     <FieldRef Name='Status' /> 
     <Value Type='Text'>Completed</Value> 
    </And> 
    <Gt> 
     <FieldRef Name='Id' /> 
     <Value Type='Number'>20</Value> 
    </Gt> 
    </Where>"; 
var foundItems = list.GetItems(sampleQuery); 

也如MSDN文章中提到的,你可以使用LINQ 2的SharePoint以基於強類型的模型類在您的SharePoint網站中給出的結構上。