Sharepoint 2010 SPListTemplate如何获取字段列表?

时间:2011-02-23 11:45:53

标签: .net api sharepoint-2007 sharepoint-2010 sharepoint-api

我需要从列表模板中获取所有字段? 我怎么能这样做?

var web = site.OpenWeb();
var template = web.ListTemplates["SomeTemplate"];
template ... ???? -There is no method to get fields.

1 个答案:

答案 0 :(得分:2)

没有内置方法可以从列表模板中获取所有字段。获取字段的唯一方法是解析列表的Schema XML并获取所有<Field><FieldRef>标记。

更容易创建一个列表实例,稍后您可以使用以下示例进行查询。

要从列表中获取所有字段,您可以使用SPList.Fields属性,例如像这样:

foreach (SPField spField in myList.Fields)
{
    //your code here
}

MSDN SPListItem.Fields

您还可以“反向”SPListItem.Fields Property从列表项中获取所有字段。您可能也对此SO主题感兴趣:Check if a List Column Exists using SharePoint Client Object Model?