V_B*_*V_B 7 c# sharepoint-2010
var objWeb = properties.Feature.Parent as 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);
}
我在功能激活中使用此代码将站点列"KeyWord"添加到站点内容类型"Wiki Page"我的问题是"关键字"添加到"wiki页面"但不是从现有站点列添加新站点列.我的代码有问题吗?
另外一件事,当我在office365上部署这个问题时,我的MOSS服务器上的这个代码工作得很好
Jig*_*put 13
你应该尝试下面的代码:
 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);
     }
   }
 }
我希望有人从我的代码中得到帮助:)