Вопрос

Мы должны создать несколько веб -частей после того, как сайт обеспечивается WSP. Я могу либо создать WP с нуля на функциональном действии. Или сохраните набор WP в галерее и создайте экземпляр, когда это необходимо. WSP для шаблона сайта также создает список и библиотеки, куда пойдут эти WP. Надеюсь, я имею смысл. Каковы мои лучшие варианты создания WP, когда сайт является положениями. Мне придется добавить какой -то код для создания WP в конце обеспечения сайта, поэтому я уверен, что все списки были созданы. Пожалуйста, предложите.

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

Решение

Хорошо, подумайте, что у нас есть эта среда:

  1. У нас есть файл WSP на уровне фермы (это также может быть написано на песочке в этой ситуации, но для ясности давайте рассмотрим, что это фермерский).
  2. Этот WSP содержит некоторые списки и определения/экземпляры библиотек, а также несколько визуальных веб -частей.
  3. Кроме того, файл WSP содержит хотя бы одну функцию в нем.
  4. Этот WSP добавляется в вашу ферму, развернутую в указанную коллекцию сайтов, а функция активируется там. Таким образом, списки и библиотеки создаются, а веб -части добавляются в галерею.
  5. После всего этого мы хотим создать создание веб -части WebPart1 'на странице сайта «default.aspx».

С этого момента мы можем добавить некоторый код в приемник функций (в FeatureActivativivativiviving), чтобы достичь нашей цели. Этот код будет выглядеть так:

// prepare the webpart
var webPart = new WebPart1();
// ...here you can initialize some webpart properties, if needed

// fetch SPFile object for default.aspx page
SPFile page = web.RootFolder.Files["default.aspx"];
if (page.Exists)
{
   // ...here you probably need to check out the page if it is a publishing site

   // get LimitedWebPartManager object for the page
   var webPartManager = page.GetLimitedWebPartManager(PersonalizationScope.Shared);
   // add our webpart into the 'Main' webpart zone, using zone index = 1
   webPartManager.AddWebPart(webpart, "Main", 1);

   // ...do not forget to commit your changes here if you are using publishing site

   // save our changes
   page.Update();
}

Ссылки MSDN:

  1. SplimitedWebpartmanager
  2. SplimitedWebPartManager.Addwebpart
  3. Как: работать с веб -частями на странице
Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top