Как добавить веб -часть на все страницы на сайте SharePoint?

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/733

  •  16-10-2019
  •  | 
  •  

Вопрос

Я использую SharePoint Server 2007 Enterprise с Windows Server 2008 Enterprise, и я использую шаблон Publishing Portal. Я разрабатываю с помощью VSTS 2008 + C# + .NET 3.5.

Я хочу знать, как добавить веб -части на все страницы сайта SharePoint?

Какие -либо эталонные образцы?

Я хочу использовать эту веб -часть для отображения некоторой общей информации (но информация может измениться динамически, и именно поэтому я выбираю веб -часть) на всех страницах.

Это было полезно?

Решение

Эта информация динамически не означает, что вы должны использовать веб -части.

Используйте веб -части, когда вы

  • Требуется дизайнер/участник, чтобы изменить функциональность по умолчанию, добавляя веб -частями или изменение свойств на веб -частях без необходимости вовлечения разработчика
  • Имейте особую причину, например, использование его в качестве веб -частей фильтров, подключенных веб -частей, кэширования и т. Д.

Для того, что вы делаете, я бы вместо этого рекомендовал использовать обычный пользовательский веб -управление ASP.NET.

В зависимости от требований это может быть размещено на главных страницах или на страницах макета.

Вы также можете разработать управление делегатом, который дает вам большую гибкость для добавления новых элементов управления и иметь различное поведение на разных уровнях структуры сайта.Подробнее о управлении делегатами

HTH Anders Rask

Другие советы

Я думаю, что веб -часть будет работать в любом случае, потому что веб -частя - это просто более продвинутый веб -контроль. Я бы сделал это один из двух способов:

  1. Добавьте его на главную страницу или макет страницы с помощью SP Designer.
  2. Добавьте его на каждую страницу программически, используя функцию

Я бы ни был, если вам нужно существовать веб -части, где нет зоны веб -частей. Вам нужно будет внести изменения в каждый другой экземпляр главной страницы или макета страницы, в котором вы захотите включить контроль. У большинства людей есть только одна главная страница, так что это может быть легкой победой.

2 ограничивает вас только страницами, на которых есть зоны веб -части. Помните, что добавление веб -части программически требует, чтобы его добавляли в зону.

Код для добавления веб -части выглядит так:

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

Есть два способа сделать это в зависимости от вашей ситуации.

Если сайты уже существуют, вам необходимо обратить внимание на сайты, добавив веб -часть:

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

Если сайтов не существует, вы можете добавить веб -часть в шаблон сайта:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top