2011-07-21 14 views
6

var objWeb = Properties.Feature.Parent 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 पर तैनात
+0

मेरे पास समान कोड वाला समाधान है और यह SP2010 में काम करता है। हालांकि, यह एक 'फार्म' समाधान है। Office365 केवल sandboxed समाधान स्वीकार करता है। –

+0

क्या आप वेब का उपयोग कर रहे हैं। उपलब्ध सामग्री सामग्री या वेब। इस ऑब्जेक्ट को बनाने के लिए सामग्री टाइप करें? –

उत्तर

12

आप नीचे दिए गए कोड की कोशिश करनी चाहिए:

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); 
    } 
    } 
} 

मुझे आशा है कि किसी से मदद की जा रही है मेरी कोड :)

संबंधित मुद्दे