我目前正在使用SharePoint 2010和Visual Studio 2010. VS 2010通过对话框可以轻松添加列表定义,但只允许通过对话框添加一个内容类型,但是我需要添加两个,如何我能这样做吗?
提前致谢!
干杯!
答案 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);