Existe-t-il un moyen simple d'ajouter une page de composant WebPart à un site Sharepoint par programmation, en utilisant le modèle objet ou les services Web? Il semble simple de créer des listes et d'ajouter des composants Web de cette manière, mais je ne trouve pas d'exemple de création de page de contenu. Editer: Pour une installation WSS simple (pas MOSS).Instanciation par programme d'une page de composant WebPart dans Sharepoint
Répondre
Je vais prendre la route que ce n'est pas un site de collaboration/édition car ce n'est pas mentionné et wss est dans la liste des tags. Jolie clunky par rapport à l'utilisation d'un site de publication ...
d'abord choisir le modèle de page partie Web que vous souhaitez utiliser à partir de:
C: \ Program Files \ Common Files \ Microsoft Shared \ serveur web extensions \ 12 \ TEMPLATE \ 1033 \ STS \ DOCTEMP \ SMARTPGS
ensuite mis en place un cours d'eau au modèle et utiliser SPFileCollection.Add() pour l'ajouter à votre bibliothèque de documents. Par exemple:
string newFilename = "newpage.aspx";
string templateFilename = "spstd1.aspx";
string hive = SPUtility.GetGenericSetupPath("TEMPLATE\\1033\\STS\\DOCTEMP\\SMARTPGS\\");
FileStream stream = new FileStream(hive + templateFilename, FileMode.Open);
using (SPSite site = new SPSite("http://sharepoint"))
using (SPWeb web = site.OpenWeb())
{
SPFolder libraryFolder = web.GetFolder("Document Library");
SPFileCollection files = libraryFolder.Files;
SPFile newFile = files.Add(newFilename, stream);
}
Remarque: Cette solution suppose que vous avez installé la version US SharePoint qui utilise le code de langue 1033. Changez juste le chemin si différent.
Est-ce un site de collaboration/publication? Si oui, vous pouvez les articles de blog suivants devraient vous aider:
Une solution alternative à la réponse acceptée de @AlexAngas est d'utiliser le NewWebPage method du SharePoint Foundation RPC Protocol, comme suggéré here.
private static void CreateWebPartPage(this SPWeb web, SPList list, string pageName, int layoutTemplate)
{
const string newWPPage = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<Batch>" +
"<Method ID=\"0,NewWebPage\">" +
"<SetList Scope=\"Request\">{0}</SetList>" +
"<SetVar Name=\"Cmd\">NewWebPage</SetVar>" +
"<SetVar Name=\"ID\">New</SetVar>" +
"<SetVar Name=\"Type\">WebPartPage</SetVar>" +
"<SetVar Name=\"WebPartPageTemplate\">{2}</SetVar>" +
"<SetVar Name=\"Overwrite\">true</SetVar>" +
"<SetVar Name=\"Title\">{1}</SetVar>" +
"</Method>" +
"</Batch>";
var newWPPageBatchXml = string.Format(newWPPage, list.ID, pageName, layoutTemplate);
var result = web.ProcessBatchData(newWPPageBatchXml);
}
Utilisation de la méthode d'extension ci-dessus:
web.CreateWebPartPage(yourList, "NewPage", 2);
- 1. Comment faire pour mettre à jour le contenu dans un composant WebPart SharePoint par programme?
- 2. Masquage d'un composant WebPart personnalisé dans SharePoint
- 3. Dans un composant WebPart SharePoint, comment définir la liste d'un composant WebPart lors de l'exécution?
- 4. SharePoint: ne voit aucun composant WebPart Filtre
- 5. Erreur SharePoint: "Impossible d'importer le composant WebPart"
- 6. zone de texte multiligne dans le composant WebPart sharepoint
- 7. Hyperliens dans Sharepoint Webpart
- 8. Comment ajouter une zone de composant WebPart dans SharePoint à l'aide de SharePoint Designer
- 9. Silverlight dans webpart Sharepoint
- 10. Problème de page Web Part Sharepoint (impossible de modifier le composant WebPart partagé)
- 11. Stockage de pièces Web SharePoint avec plusieurs instances de composant WebPart sur la même page
- 12. Valeur sélectionnée par défaut dans le composant WebPart connecté
- 13. SharePoint Webpart désérialiser erreur
- 14. Partage WebPart Filtre personnalisé Sharepoint
- 15. Filtrer un composant WebPart Requête de contenu en utilisant les valeurs d'un autre composant WebPart sur la même page
- 16. Comment migrer un composant WebPart tiers de SharePoint 2 (2003) vers SharePoint 3 (2007)
- 17. Mise à niveau de composants WebPart SharePoint
- 18. Comment ajouter une feuille de style pour un composant WebPart dans MOSS/Sharepoint 2007
- 19. Connexion par programme au Sharepoint ULS
- 20. Ajout de tâches par programme dans la taskList dans sharepoint
- 21. instanciation composant COM en C# - Erreur 80070002
- 22. Sharepoint Webpart Exception sécurité
- 23. Autorisations WebPart SharePoint
- 24. Ordre d'appel des méthodes CreateChildControls() et ApplyChanges() dans un composant WebPart SharePoint
- 25. Sharepoint: Trouver une liste basée sur un type de contenu dans un composant WebPart?
- 26. SharePoint WebPart affiche deux fois - Aide!
- 27. Configuration d'Outlook Webpart dans Sharepoint 2007
- 28. Ajouter un contrôle ASP.NET à Sharepoint WebPart
- 29. Page viewer webpart ne prendra pas les paramètres de connexion
- 30. Sharepoint WebPart avec contrôle d'accordéon AjaxToolkit
Il fonctionne: D !! Bon post Alex :-) !! – Muhammedh
@Alex Est-il possible de définir la page maître de newpage.aspx comme SomeMasterPageName.master? Comment pourrais-je l'inclure dans le code? –