我需要从列表模板中获取所有字段? 我怎么能这样做?
var web = site.OpenWeb();
var template = web.ListTemplates["SomeTemplate"];
template ... ???? -There is no method to get fields.
答案 0 :(得分:2)
没有内置方法可以从列表模板中获取所有字段。获取字段的唯一方法是解析列表的Schema XML并获取所有<Field>
和<FieldRef>
标记。
更容易创建一个列表实例,稍后您可以使用以下示例进行查询。
要从列表中获取所有字段,您可以使用SPList.Fields
属性,例如像这样:
foreach (SPField spField in myList.Fields)
{
//your code here
}
您还可以“反向”SPListItem.Fields
Property从列表项中获取所有字段。您可能也对此SO主题感兴趣:Check if a List Column Exists using SharePoint Client Object Model?