首页 文章

仅来自Sharepoint列表的自定义字段

提问于
浏览
4

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

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.
       }
   }
}

任何帮助,将不胜感激 .

谢谢

3 回答

  • 0

    您有两种选择:

    • 检查该字段是否为内置字段: SPBuiltInFieldId.Contains(field.Id)

    • 检查SPField.SourceId(来自MSDN):

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

  • -2

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

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

    如果LINQ仍然是"smiled upon"由.net digirati,but using LINQ to Sharepoint might work for you.我正在寻找't know if its really what you'

相关问题