【问题标题】:How to get a single listitem field value?如何获取单个列表项字段值?
【发布时间】:2012-08-24 12:51:16
【问题描述】:

我有一个 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 查询商品

请帮忙。谢谢

【问题讨论】:

    标签: drop-down-menu caml sharepoint-list sharepoint-object-model


    【解决方案1】:

    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 网站中给定的结构生成强类型模型类。

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 1970-01-01
      • 2018-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-24
      • 1970-01-01
      相关资源
      最近更新 更多