0

我有一个 SharePoint 列表,其中角色作为列(管理员、查看者、经理),文档类型作为项目(Word 文档、PPtx 文档、excel 文档)。我已经用每个角色对每个文档类型的权限填写了相应的值。

我已经构建了一个带有 2 个下拉菜单的 Web 部件。Dropdown1 具有角色,Dropdown2 具有文档类型。

如何使用每个下拉列表的选定值并从列表中查询相应的值?

我使用 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 查询项目

请帮忙。谢谢

4

1 回答 1

0

SharePoint 2010 中提供了多种技术和概念。首先,将 SPQuery 与 CAML 查询结合使用,以请求与给定条件匹配的列表项。例如,您应该查看 MSDN ( http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spquery.aspx )。

这个简短的示例正在查找 ListItem 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 站点中给出的结构生成强类型模型类。

于 2012-10-16T21:56:46.917 回答