2009-01-27 14 views
7

क्या कोई जानता है कि किसी भी मानक SharePoint v3 वेब पार्ट्स की सामग्री को प्रोग्रामेटिक रूप से अपडेट कैसे करें?किसी SharePoint वेब पार्ट में प्रोग्रामेटिक रूप से सामग्री को कैसे अपडेट करें?

उदाहरण के तौर पर, एक पृष्ठ पर एक लिंक सारांश वेब पार्ट डालें। इसमें कुछ लिंक जोड़ें। अब, मैं WSS एपीआई का उपयोग करके इस जानकारी को कैसे अपडेट कर सकता हूं? मुझे ऐसा करने का कोई सीधा तरीका नहीं मिला है, मेरा एकमात्र विचार वेब पार्ट को निर्यात करना है, (फिर इसे हटाएं), जेनरेट एक्सएमएल को संशोधित करें, और इसे वापस आयात करें। लेकिन निश्चित रूप से, एक आसान तरीका होना चाहिए?

+0

"सामग्री बदलने" से आपका क्या मतलब है? –

उत्तर

9

साथ गड़बड़ करने के लिए webpart संग्रह का उपयोग आप एक वेब हिस्सा पृष्ठ पर वेब भागों में हेरफेर करने के SPLimitedWebPartManager वर्ग का उपयोग कर सकते की जरूरत होगी।

using (SPSite site = new SPSite("<site url>")) // e.g. http://server/sites/asite 
using (SPWeb web = site.OpenWeb()) 
{ 
    SPFile file = web.GetFile("<page url>"); // e.g. /sites/asite/default.aspx 
    SPLimitedWebPartManager lwpm = file.GetLimitedWebPartManager(); 
    SPLimitedWebPartCollection webParts = lwpm.WebParts; 
    WebPart wp = webParts[<id, index or Guid>]; 

    // Add your code to update the Web Part 

    lwpm.SaveChanges(wp); 
} 

तुम भी SPLimitedWebPartManager साथ वेब पार्ट्स को जोड़ने या हटाने कर सकते हैं: इस वर्ग का एक उदाहरण के रूप में निम्नानुसार एक spfile वस्तु से प्राप्त किया जा सकता है।

5

आप शायद SPWeb.GetWebPartCollection फोन और WebParts thusly

+3

नोट यह बहिष्कृत है और SP2010 में @Lars उत्तर द्वारा प्रतिस्थापित किया गया है। – Russell

+0

yup। यह अप्रचलित है ... – trgraglia

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