Question

J'utilise SharePoint Server 2007 Enterprise avec Windows Server 2008 Enterprise, et je suis en utilisant la publication modèle portail. Je développe en utilisant VSTS 2008 + C # + .Net 3.5.

Je veux savoir, Comment ajouter un à toutes les pages WebPart d'un site SharePoint?

Les échantillons de référence?

Je veux utiliser ce composant WebPart pour afficher certaines informations communes (mais l'information peut changer de façon dynamique, et c'est pourquoi choisir un) sur toutes webpart pages.

Était-ce utile?

La solution

Cette information change dynamiquement ne signifie pas que vous avez de ne pas utiliser un WebParts.

Utilisez WebParts lorsque vous

  • Besoin concepteur / contributeur de modifier la fonctionnalité par défaut par soit en ajoutant WebParts ou propriétés de changement sur WebParts sans avoir à impliquer un développeur
  • Avoir une raison spécifique comme l'utiliser comme filtre WebParts, Connected WebParts, la mise en cache, etc.

Pour ce que vous faites, je recommande au lieu d'utiliser un contrôle Web personnalisé ASP.NET ordinaire.

En fonction des besoins, cela peut être placé soit dans les pages maîtres ou des pages de mise en page.

Vous pouvez également choisir de développer un contrôle délégué qui vous donne plus de flexibilité pour ajouter de nouveaux contrôles et ont un comportement différent à différents niveaux de la structure du site. Plus sur le contrôle des délégués

HTH Anders Rask

Autres conseils

Je pense qu'un webpart fonctionnera de toute façon, parce qu'un webpart est juste un webcontrol plus avancé. Je le ferais de deux façons:

  1. Ajoutez à la page principale ou la mise en page en utilisant Designer SP.
  2. Ajoutez à chaque page en utilisant une fonction programmically

1 est si vous avez besoin webpart d'exister là où il n'y a pas une zone de webpart. Vous aurez besoin de faire le changement à tous les différents cas de la page principale ou la mise en page que vous voulez avoir le contrôle sur. La plupart des gens ont juste une page maître si cela pourrait être une victoire facile.

2 vous limite aux pages seulement qui ont des zones de partie Web. Rappelez-vous d'ajouter un composant WebPart nécessite programmically qu'il soit ajouté à une zone.

Le code pour ajouter un look WebPart comme ceci:

ContentEditorWebPart webpart = new ContentEditorWebPart();
webpart.ChromeType = PartChromeType.TitleOnly;
webpart.Title = "Content Editor";

XmlDocument xmlDoc = new XmlDocument();
XmlElement xmlElement = xmlDoc.CreateElement("MyElement");
xmlElement.InnerText = "My Text";
webpart.Content = xmlElement;        

using (SPLimitedWebPartManager mgr = web.GetLimitedWebPartManager(pageUrl, System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared))
{
    try
    {
    	mgr.AddWebPart(webPart, "MiddleLeftZone", 0);
    }
    finally
    {
    	if (mgr != null &&
    		mgr.Web != null)
    	{
    		mgr.Web.Dispose();
    	}
    }
}

Il y a deux façons de le faire en fonction de votre situation.

Si les sites existent déjà, vous devez itérer sur les différents sites, en ajoutant la partie web:

http://blogs.msdn.com/tconte/archive/2007/01/18/programmatically-adding-web-parts-to-a-page.aspx

Si les sites n'existent pas vous pouvez ajouter la partie Web au modèle de site:

https://stackoverflow.com / questions / 234302 / how-to-add-a-web-partie pages à un site définition

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top