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网站中给出的结构上。