Sharepoint SPListItem按名称检索列索引

时间:2011-07-28 00:44:52

标签: c# vb.net sharepoint sharepoint-2010

是否可以通过共享点SPListItem的名称检索列索引?我无法找到这样做的方法。

例如。

SPListItem data;
int32 value = data.getIndexByName("Title");

2 个答案:

答案 0 :(得分:2)

您可以编写扩展方法

public static class SPListItemExtension
{
    public static int getIndexByName(this SPListItem item, string name)
    {
        for (int i = 0; i < item.Fields.Count; i++)
        {
            if (item.Fields[i].InternalName.Equals(name))
            {
                return i;
            }

        }
        return -1;
    }

}

但是,你为什么要这样做?

答案 1 :(得分:0)

在这种情况下,术语ID是什么意思?

每个字段将从整个SiteContentType或SiteFields复制到列表本身。通过复制字段,每个字段将收到一个新ID。您可以使用FieldID或使用字段的内部名称来查询列表或Web。

var field = myList.Fields[SPBuiltInFields.Title];
Console.WriteLine(field.ID);

希望这就是你所期待的。

和Thorsten