【问题标题】:Custom Fields Only From Sharepoint List仅来自 Sharepoint 列表的自定义字段
【发布时间】:2011-07-17 11:30:12
【问题描述】:

是否可以遍历共享点列表的字段集合并仅检索我们的自定义字段而不是共享点内置字段。

using (SPSite site = new SPSite("http://localhost/"))
{
   using (SPWeb web = site.OpenWeb())
   {
       SPList list = web.Lists["My List"];
       foreach (SPField field in list.Fields)
       {
           //We also get sharepoint built-in column here. And we don't want that, just our
           //custom created fields.
       }
   }
}

任何帮助将不胜感激。

谢谢

【问题讨论】:

    标签: c# sharepoint splist


    【解决方案1】:

    你有两个选择:

    1. 检查字段是否为内置字段:SPBuiltInFieldId.Contains(field.Id)
    2. 查看SPField.SourceId(来自 MSDN):

    获取定义内置字段的命名空间,如果是自定义字段,则获取标识列表或创建它的网站的 GUID。

    【讨论】:

      【解决方案2】:

      这是一种人为的(目前未经测试)的方式:

      string fieldTypeClass = field.FieldTypeDefinition.FieldTypeClass;
      
      if (!(string.IsNullOrEmpty(fieldTypeClass) || fieldTypeClass.StartsWith("Microsoft.SharePoint"))) {
      //Only custom fields here
      }
      

      【讨论】:

        【解决方案3】:

        我不知道它是否真的是您正在寻找的东西,不知道 .net digirati 是否仍然对 LINQ “微笑”,but using LINQ to Sharepoint might work for you.

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-04
          • 2018-02-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多