2010-01-19 9 views
1

utilisant SharePoint 2007 webservices ou même Webdav, comment puis-je vérifier si un dossier existe dans une liste (non bibliothèque de documents) dans SharePoint.SharePoint 2007: Comment vérifier si un dossier existe dans une liste à l'aide de services Web?

Je voudrais également vérifier les sous-dossiers ...

Quelqu'un a une idée sur la façon dont cela se fait? J'ai demandé à Microsoft, et leur position officielle est que Microsoft ne fournit aucune documentation à ce sujet. de sorte que toute aide sera la bienvenue ...

Merci à l'avance ...

J'ai ce code qui crée un dossier, mais ne savez pas comment le modifier pour vérifier si le dossier existe, aussi même pas sûr si cela va fonctionner avec des sous-dossiers ...

private void CreateFolderUsingWebService(string listName, string folderName) 
     { 

      //Check Databox Folder Exists 
      //string folderAddress = siteAddress + @"/lists/" + listAddress + @"/" + folderName; 
      //wsDws.CreateFolder(folderAddress); 
      var doc = new XmlDocument(); 
      XmlElement batch = doc.CreateElement("Batch"); 
      string item = "<Method ID=\"1\" Cmd=\"New\">" + 
       "<Field Name=\"ID\">New</Field>" + 
       "<Field Name=\"FSObjType\">1</Field>" + 
       "<Field Name=\"BaseName\">" + folderName + "</Field></Method>"; 

      batch.SetAttribute("ListVersion", "1"); 
      //batch.SetAttribute("ViewName", "{GUID of View, including braces}"); 
      batch.InnerXml = item; 

      wsLists.UpdateListItems(listName, batch); 
     } 

Répondre

1

Voir ma réponse sur ce post Sharepoint 2007, how to check if a folder exists in a document library, cela est tout à fait similaire.

+0

+1 Oui c'était une excellente réponse, et cela m'a beaucoup aidé avec les bibliothèques de documents, mais malheureusement cela ne fonctionne pas avec les listes parce que la réponse semble rediriger vers la liste de base , et ne produit pas un 404 comme avec une bibliothèque de documents. dommage énorme, il ne fonctionne pas avec des listes ... –

+0

Oh, désolé, je n'ai pas remarqué qu'il était votre question ;-) – naivists

1

Ok - cette information pourrait aider le prochain développeur SharePoint:

La fonction ci-dessus fonctionne et va même créer une structure de répertoire. MAIS vous devez passer le nom de la liste, pas l'URL de la liste, cela signifie que si vous localisez votre code, vous devez transmettre le nom de la liste localisée à la fonction.

Je ne l'ai pas pris la peine d'ajouter un chèque de ifexists, car il semble ne pas créer des doublons ou échouer si le répertoire existe déjà. Je sais que ce n'est pas une excellente solution, mais je n'ai tout simplement pas besoin de deux ou trois semaines pour faire des recherches sur la façon de le faire correctement, donc si vous avez des suggestions, les commentaires sont les bienvenus.

Enfin toute représentation Microsoft lire ce - pourrait vouloir demander pourquoi il n'y a pas de documentation vraiment bon à ce sujet avec comment est de MS? Je suis allé aussi loin que de télécharger le SDK MOSS Web Services, et il contient 1 exemple très vague de la façon d'utiliser 1 fonction dans le service web Listes, ce n'est pas assez d'informations pour ceux d'entre nous qui essayons de mettre ensemble solutions robustes dans MOSS. Nous avons besoin de beaucoup plus de documentation s'il vous plaît ...

Questions connexes