Вопрос

Я пытаюсь создать столбец сайта в VS2010 без использования функций. Это возможно? Если да, пожалуйста, дайте мне знать, с чего я могу начать искать.

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

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

Решение

Если вы просто пытаетесь избежать использования Declarative XML для создания столбца, вы можете написать код C# для создания столбца. Но чтобы развернуть на вашем сайте через WSP, его все равно нужно будет упаковать в функцию.

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

В любом случае, код будет выглядеть примерно так:

using(SPSite site = new SPSite("url-of-your-site"))
{
  using(SPWeb web = site.RootWeb)
  {
    web.Fields.Add("ColumnName", SPFieldType.Text, true);
  }
}

Вы также можете создать сценарий PowerShell, чтобы добавить столбец. Что-то типа:

$site = Get-SPSite "your-site-url"
$web = $site.RootWeb 
$column = '<Field Name=...' +
                 'ID=...' +
                  etc. +
          '></Field>'
$web.Fields.AddFieldAsXml($column)

Но на самом деле функции не так уж и плохи, как только вы принимаете эту функцию активации - это способ программного добавления элементов на сайт SharePoint.

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

Вы можете создавать столбцы тремя способами:

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