sharepoint: добавление существующего столбца сайта в существующий тип контента программно
var objWeb = свойства.Особенность.Родитель как SPWeb;
SPContentType contentType = objWeb.ContentTypes["Wiki Page"];
if (!contentType.Fields.ContainsField("Keywords"))
{
SPField field = objWeb.Fields["Keywords"];
SPFieldLink fieldLink = new SPFieldLink(field);
contentType.FieldLinks.Add(fieldLink);
contentType.Update(true);
}
Я использую этот код в активации функции для добавления столбца сайта " Ключевое слово "в тип контента сайта" вики-страница "моя проблема -" ключевое слово "добавить в" вики-страницу", но не из существующего столбца сайта это добавить новый столбец сайта. есть ли проблема в моем коде?
еще одна вещь, этот код отлично работает на моем сервере MOSS, когда я развертываю на office365 эту проблему я нашел
1 ответов
вы должны попробовать код ниже:
if (objWeb.IsRootWeb)
{
SPContentType contentType = objWeb.ContentTypes["Wiki Page"];
if (!contentType.Fields.ContainsField("Keywords"))
{
SPField field = objWeb.Fields["Keywords"];
SPFieldLink fieldLink = new SPFieldLink(field);
contentType.FieldLinks.Add(fieldLink);
contentType.Update(true);
}
}
else
{
SPContentType contentTyperoot = site.RootWeb.ContentTypes["Wiki Page"];
if (!contentTyperoot.Fields.ContainsField("Keywords"))
{
SPContentType contentType = site.RootWeb.ContentTypes["Wiki Page"];
if (!contentType.Fields.ContainsField("Keywords"))
{
SPField field = site.RootWeb.Fields["Keywords"];
SPFieldLink fieldLink = new SPFieldLink(field);
contentType.FieldLinks.Add(fieldLink);
contentType.Update(true);
}
}
}
Я надеюсь, что кому-то помогает мой код :)