Frage

Ich verwende SharePoint Server 2007 Enterprise mit Windows Server 2008 Enterprise und benutze die Veröffentlichungsportalvorlage. Ich entwickle mit VSTS 2008 + C# + .NET 3.5.

Ich möchte wissen, wie Sie allen Seiten einer SharePoint -Website ein Webpart hinzufügen?

Irgendwelche Referenzproben?

Ich möchte dieses Webpart verwenden, um einige gängige Informationen (aber die Informationen können sich dynamisch ändern, und deshalb wähle ich ein WebPart aus) auf allen Seiten.

War es hilfreich?

Lösung

Diese Informationen ändert sich dynamisch nicht, dass Sie ein Webparts verwenden müssen.

Verwenden Sie Webparts, wenn Sie

  • Benötigen Sie Designer/Mitwirkender, um die Standardfunktionalität zu ändern, indem Sie entweder Webparts hinzufügen oder Eigenschaften auf Webparts ändern, ohne einen Entwickler einbeziehen zu müssen
  • Haben Sie einen bestimmten Grund, es als Filterwebparts, verbundene Webparts, Caching usw. zu verwenden.

Für das, was Sie tun, würde ich stattdessen empfehlen, eine gewöhnliche ASP.NET -Websteuerung zu verwenden.

Abhängig von den Anforderungen kann dies entweder auf Master -Seiten oder auf Layoutseiten platziert werden.

Sie können auch eine Delegierkontrolle entwickeln, die Ihnen mehr Flexibilität für neue Steuerelemente und unterschiedliche Verhaltensweisen auf verschiedenen Ebenen der Site -Struktur bietet.Mehr zu Delegiertenkontrollen

HTH Anders Rask

Andere Tipps

Ich denke, ein Webpart wird in beide Richtungen funktionieren, da ein Webpart nur ein erweiterteres Webcontrol ist. Ich würde es auf zwei Möglichkeiten tun:

  1. Fügen Sie es mit SP Designer zum Master -Seite oder zum Seitenlayout hinzu.
  2. Fügen Sie es programmisch mit einer Funktion zu jeder Seite hinzu

1 ist, wenn Sie das WebPart benötigen, um zu existieren, wo keine Webpart -Zone gibt. Sie müssen die Änderung zu jeder verschiedenen Instanz der Masterseite oder des Seitenlayouts vornehmen, für die Sie die Kontrolle haben möchten. Die meisten Leute haben nur eine Master -Seite, daher könnte dies ein einfacher Gewinn sein.

2 begrenzt Sie auf nur Seiten mit Web -Teil -Zonen. Denken Sie daran, dass ein Webpart programmisch hinzugefügt wird. Es muss in eine Zone hinzugefügt werden.

Der Code zum Hinzufügen eines Webparts sieht folgt aus:

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();
    	}
    }
}

Es gibt zwei Möglichkeiten, dies je nach Ihrer Situation zu tun.

Wenn die Websites bereits vorhanden sind, müssen Sie über die Websites iterieren und den Webpart hinzufügen:

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

Wenn die Websites nicht vorhanden sind, können Sie den Webpart zur Site -Vorlage hinzufügen:

https://stackoverflow.com/questions/234302/how-to-add-a-web-part-page-to-a--Site-definition

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top