Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Blog Technique de Romelard Fabrice

Les dernières Actualités de Romelard Fabrice (Alias fabrice69 ou F___) principalement autour des technologies Microsoft

Actualités

  • Toutes les actualités et informations sur les technologies Microsoft principalement autour de .NET et SQL Server
SharePoint : Comment avoir la liste des WebParts en erreur

image

Travaillant actuellement sur le travail post migration, il me fallait trouver une solution pour supprimer une WebPart (V2) ne supportant pas la V3.

Cette WebPart provoque erreur qui s'affiche sur tous les sites (et sous-sites) ou elle a été installée :

image

Etant donné que j'ai plus de 160 Collections de Sites, il est inimaginable de faire ce travail de nettoyage manuellement.

J'ai donc commencé par chercher comment lister les WebParts d'une page :

Au passage, j'ai aussi posté le code pour lister les Features d'un SPWeb :

Une fois cette liste des WebParts obtenue, il faut trouver celle qui dans mon cas est en erreur. On peut trouver la solution en chargeant la page de maintenance des WebParts pour toutes page à WebPart :

Cette page vous retransfert automatiquement sur la page :

Qui vous affiche la liste des WebParts existantes et le type de chacune

image

On voit surtout ressortir le type "ErrorWebPart". Il nous faut donc modifier simplement le code en ajoutant le test sur le GetType() comme suit :

/// <summary>
/// Show all WebPart in error existing in the given WebPart Page
/// </summary>
/// <param name="WPPage">WebPart Page</param>
private void ShowAllErrorWebPartForAPage(string WPPage)
{
    using (SPWeb myNewWeb = SPControl.GetContextWeb(Context))
    {
        this.LiteralResult.Text += "<HR> <B>WEBPARTS</B>";

        Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager myWPManager = myNewWeb.GetLimitedWebPartManager(WPPage, PersonalizationScope.Shared);
        Microsoft.SharePoint.WebPartPages.SPLimitedWebPartCollection myWPColl = myWPManager.WebParts;
        foreach (WebPart MyWebPart in myWPColl)
        {
            //this.LiteralResult.Text += "<BR>WebPart Type: [" + MyWebPart.GetType().ToString() + "]";

            if (MyWebPart.GetType().ToString() == "Microsoft.SharePoint.WebPartPages.ErrorWebPart")
            {
                this.LiteralResult.Text += "<BR>WebPart Title: " + MyWebPart.Title;
                this.LiteralResult.Text += "<BR>WebPart Assembly: " + MyWebPart.GetType().Assembly.ToString();
                this.LiteralResult.Text += "<BR>WebPart GetType: " + MyWebPart.GetType().ToString();
                this.LiteralResult.Text += "<BR>WebPart ID: " + MyWebPart.ID;
            }               
        }
    }
}

Ce qui vous donnera le résultat suivant :

image

Romelard Fabrice [MVP]

Technorati Tags: ,,,
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: jeudi 24 avril 2008 20:09 par ROMELARD Fabrice
Classé sous : ,

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- SQL Server 2008 : Un livre en cours de préparation ! par SQL Server vu par Christian Robert le il y a 4 heures et 14 minutes

- IIS7 : à quel pool d'application correspond le processus w3wp.exe par Atteint de JavaScriptite Aiguë [Cyril Durand] le il y a 5 heures et 11 minutes

- PDC 2008 - J-14 ! par Nix's Blog le il y a 6 heures et 56 minutes

- [Silverlight] La version finale de Silverlight 2 sera disponible en téléchargement demain ! par Thomas Lebrun le il y a 8 heures et 49 minutes

- SharePoint 2007 : Professional Developers Conference 2008 par Philippe Sentenac [MVP SharePoint] le il y a 14 heures et 42 minutes

- [Silverlight] En attendant Silverlight 2 RTW par Blog Technique d'Audrey PETIT le 10-11-2008, 21:55

- Le nouveau Gojira, c’est pour lundi… par CoqBlog le 10-11-2008, 01:18

- SharePoint : nouvel article sur la mise en place des Scopes dans MOSS Searchs par Blog Technique de Romelard Fabrice le 10-10-2008, 17:52

- Hello CS par Le Blog de julz le 10-10-2008, 12:26

- MSDN/TechNet/Microsoft Days Tour 2008 à Lille les 13 et 14 Octobre ! par RedoBlog - The .NET Gentleman !!! le 10-10-2008, 09:35