जैसा कि सवाल कहता है - क्या यह निर्धारित करने का कोई तरीका है कि मेरे वेब भाग सहित कौन से पृष्ठ हैं?शेयरपॉइंट: मैं एक विशेष वेब भाग होस्ट करने वाले सभी पृष्ठों को कैसे ढूंढ सकता हूं?
उत्तर
यदि आप कोड की तलाश में हैं, तो मुझे आपके लिए कुछ मिल गया है। आप सभी सामग्री क्वेरी वेब पार्ट्स प्राप्त करना चाहते हैं तो आप इस तरह मेरे कोड कहेंगे:
FindWebPart("http://server.com/", "Microsoft.SharePoint.Publishing.WebControls.ContentByQueryWebPart");
कोड यह रहा:
public static void FindWebPart(string siteCollectionUrl, string webPartName)
{
using (SPSite siteCollection = new SPSite(siteCollectionUrl))
{
using (SPWeb rootSite = siteCollection.OpenWeb())
{
FindWebPartHelper(rootSite, webPartName);
}
}
}
public static void FindWebPartHelper(SPWeb site, string webPartName)
{
// Search for web part in Pages document library
SPList pagesList = null;
try
{
pagesList = site.Lists["Pages"];
}
catch (ArgumentException)
{
// List not found
}
if (null != pagesList)
{
SPListItemCollection pages = pagesList.Items;
foreach (SPListItem page in pages)
{
SPFile file = page.File;
using (SPLimitedWebPartManager mgr = file.GetLimitedWebPartManager(PersonalizationScope.Shared))
{
try
{
SPLimitedWebPartCollection webparts = mgr.WebParts;
foreach (System.Web.UI.WebControls.WebParts.WebPart wp in webparts)
{
// Here perform the webpart check
// For instance you could identify the web part by
// its class name
if (webPartName == wp.GetType().ToString())
{
// Found a match! Now do something...
Console.WriteLine("Found web part!");
}
}
}
finally
{
// Needs to be disposed
mgr.Web.Dispose();
}
}
}
}
// Check sub sites
SPWebCollection subSites = site.Webs;
foreach (SPWeb subSite in subSites)
{
try
{
FindWebPartHelper(subSite, webPartName);
}
finally
{
// Don't forget to dispose!
subSite.Dispose();
}
}
}
बेशक आप इस कोड को थोड़ा परिवर्तन कर सकते हैं। वर्तमान में यह एक स्ट्रिंग तुलना करता है, लेकिन इसे अधिक टाइप किए गए तरीके से करना आसान है। मज़े करो!
एक विकल्प के वैसे, आप सहयोग साइटों पर डिफ़ॉल्ट पृष्ठ सहित वेब हिस्सा पृष्ठों का परीक्षण करना चाहते हैं, आप जो SPWeb वस्तु की फ़ाइलें संपत्ति का उपयोग करता है निम्नलिखित कोड का उपयोग कर सकते हैं:
private static void FindWebPart(string siteUrl, string webPartName)
{
using (var site = new SPSite(siteUrl))
{
foreach (SPWeb web in site.AllWebs)
{
foreach (var file in web.Files.Cast<SPFile>().Where(file => file.Name.EndsWith("aspx")))
{
FindWebPartOnPage(webPartName, file);
}
var pagesTemplateType = (SPListTemplateType)Enum.Parse(typeof(SPListTemplateType), "850");
foreach (var documentLibrary in web.Lists.Cast<SPList>().Where(list => list.BaseTemplate == pagesTemplateType || (list.BaseTemplate == SPListTemplateType.DocumentLibrary && list.Title.Contains("Pages"))))
{
foreach (var file in documentLibrary.Items.Cast<SPListItem>().Where(item => item.File.Name.EndsWith("aspx")).Select(item => item.File))
{
FindWebPartOnPage(webPartName, file);
}
}
web.Dispose();
}
}
}
private static void FindWebPartOnPage(string webPartName, SPFile file)
{
using (var webPartManager = file.GetLimitedWebPartManager(PersonalizationScope.Shared))
{
if (webPartManager.WebParts.Cast<WebPart>().Any(webPart => webPart.GetType().Name == webPartName))
{
Console.WriteLine(file.ServerRelativeUrl);
}
webPartManager.Web.Dispose();
}
}
नोट: प्रकाशन सुविधा द्वारा बनाई गई पेज लाइब्रेरी में SPListTemplateType.DocumentLibrary का बेस टेम्पलेट मान नहीं है; बजाय यह, 850
इस का एक "छिपा" मूल्य का प्रतिनिधित्व करती है LeonZandman के जवाब देने के लिए एक समान तरीके से कहा जाता है लेकिन केवल वर्ग के नाम एक मैच की आपूर्ति के लिए इस्तेमाल किया जाता है: के लिए,
FindWebPart("http://yoursite.com/", "MyWebPart");
- 1. मैं एक आईपी पते को हल करने वाले सभी डोमेन नाम कैसे ढूंढ सकता हूं?
- 2. कैसे सभी वेब पृष्ठों
- 3. उद्धरणों के बीच वाले लोगों को छोड़कर मैं सभी सफेद जगहों को कैसे ढूंढ सकता हूं?
- 4. मैं किसी विशेष TFS प्रोजेक्ट उप-फ़ोल्डर के लिए सभी लेबल कैसे ढूंढ सकता हूं?
- 5. मैं मॉडल के रिश्तों को कैसे ढूंढ सकता हूं?
- 6. वेब होस्ट
- 7. मैं उन तत्वों को कैसे ढूंढ सकता हूं जिनमें jquery
- 8. मैं अपने टेक्स्ट एडिटर में एक विशेष चरित्र का कैरेक्टर कोड कैसे ढूंढ सकता हूं?
- 9. मैं आर में कक्षा के लिए परिभाषित सभी विधियों को कैसे ढूंढ सकता हूं?
- 10. Mercurial में मैं स्ट्रिंग्स वाले परिवर्तनों को कैसे ढूंढ सकता हूं?
- 11. विशेष शेयरपॉइंट सूची
- 12. myObject का संदर्भ देने वाली सभी ऑब्जेक्ट्स को मैं कैसे ढूंढ सकता हूं?
- 13. मैं किसी विशेष डोमेन के लिए व्हाइस सर्वर कैसे ढूंढ सकता हूं?
- 14. मैं HTML स्निपेट में टेक्स्ट नोड्स कैसे ढूंढ सकता हूं?
- 15. मैं सोलर अनुक्रमणित करने वाले सभी डेटा को कैसे देख सकता हूं?
- 16. मैं जावास्क्रिप्ट में Shift + key को कैसे ढूंढ सकता हूं?
- 17. मैं विशेष वर्ण कैसे हटा सकता हूं?
- 18. पायथन में नियमित अभिव्यक्तियों के लिए मैं सभी मैचों को कैसे ढूंढ सकता हूं?
- 19. शेयरपॉइंट विज़ुअल वेब पार्ट
- 20. मैं अपने डेल्फी ऐप में सभी इकाइयों को कैसे ढूंढ सकता हूं?
- 21. मैं समाधान में सभी एक्सटेंशन विधियों को कैसे ढूंढ सकता हूं?
- 22. मैं सभी * .js फ़ाइल को लिनक्स में दोबारा निर्देशिका में कैसे ढूंढ सकता हूं?
- 23. मैं आंतरिक वेब पृष्ठों पर सीएसएस को कैसे मान्य कर सकता हूं?
- 24. कुछ स्रोत कोड वाले पृष्ठों के लिए वेब कैसे खोजें?
- 25. किसी विशेष विशेषता वाले सभी वर्गों को ढूंढना
- 26. जावा में दी गई विधि को कॉल करने वाली सभी विधियों को मैं कैसे ढूंढ सकता हूं?
- 27. मैं क्लासपाथ पर सभी कक्षाओं को कैसे ढूंढ सकता हूं जिनके पास एक विशिष्ट विधि एनोटेशन है?
- 28. शेयरपॉइंट वेब सर्विसेज ट्यूटोरियल
- 29. मैं एएसपीनेट वेब सेवा द्वारा फेंकने वाले अपवाद के प्रकार को कैसे निर्धारित कर सकता हूं?
- 30. मैं COM ऑब्जेक्ट लागू करने वाले सभी इंटरफेस का पता कैसे लगा सकता हूं?
चैंपियन धन्यवाद मदद – nailitdown
मदद की खुशी है :-) – LeonZandman
वैसे, क्या आप चेक मार्क पर क्लिक करके जवाब के रूप में मेरा जवाब चिह्नित नहीं करना चाहिए? – LeonZandman