从两种内容类型(SharePoint)创建列表定义

时间:2011-08-18 16:58:40

标签: sharepoint

我目前正在使用SharePoint 2010和Visual Studio 2010. VS 2010通过对话框可以轻松添加列表定义,但只允许通过对话框添加一个内容类型,但是我需要添加两个,如何我能这样做吗?

提前致谢!

干杯!

1 个答案:

答案 0 :(得分:1)

您可以通过代码将内容类型与列表相关联。我总是用这种方法做到这一点:

    private void VerifyListContentTypeAssociation(SPList list, string contentType)
    {
        SPContentTypeId contentTypeId = new SPContentTypeId(contentType);
        list.ContentTypesEnabled = true;
        SPContentTypeId matchContentTypeId = list.ContentTypes.BestMatch(contentTypeId);

        if (matchContentTypeId.Parent.CompareTo(contentTypeId) != 0)
        {
            SPContentType ct = list.ParentWeb.AvailableContentTypes[contentTypeId];
            list.ContentTypes.Add(ct);
            list.Update();
        }
    }

您可以在功能接收器中使用此功能,例如:

string contentTypeID = "0x010056eb9d8ddb324c92865eceef8a97c811";
SPList myList = web.Lists["MyList"];
VerifyListContentTypeAssociation(myList, contentTypeID);