В SharePoint 2010, как я могу добавить выбранные пользователем веб-части во время выполнения? - PullRequest
1 голос
/ 03 октября 2011

Я новичок в SharePoint, и мне предложили решить интересную проблему.Мои пользователи попросили, чтобы у каждой была собственная домашняя страница, которую они могут легко настроить.Дизайн, который мне дали, заключается в том, чтобы иметь почти пустую страницу с пространством для 4 веб-частей, организованных по схеме 2 на 2 (2 веб-части по 2 веб-части), каждая с большой кнопкой «+», чтобы выбрать и добавить виджет.по их выбору без необходимости играть с лентой.Ожидается, что это будет выглядеть примерно так:

http://imageshack.us/photo/my-images/841/homepages.jpg/

Теперь, когда пользователь нажимает «+», должно отображаться диалоговое окно SharePoint, позволяющее пользователю выбирать из всех доступных веб-частей,При выборе одного из них домашняя страница обновляется, и виджет отображается в выбранной зоне.

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

  1. Программно получить список всех доступных веб-частей для отображения в диалоговом окне.
  2. При выборе веб-части программно добавляем выбранныйвеб-часть к правильной части домашней страницы без жесткого кодирования типа веб-части (поэтому нет необходимости изменять код при добавлении новой веб-части в SharePoint для добавления пользователями).

Iбыл бы очень признателен за любую помощь или совет по этому вопросу.Спасибо заранее и извините, если вопрос сформулирован правильно, это мой первый вопрос переполнения стека!

1 Ответ

0 голосов
/ 27 июня 2012

Просто создайте веб-часть, которая делает это. Создайте большой знак плюс, и когда пользователь щелкает там, обработчик событий получает все доступные веб-части и отображает их, например, в раскрывающемся списке. Остальное легко, когда пользователь выбирает один, получает его (по guid / name и т. Д.) И добавляет его в зону, где присутствовала первая веб-часть, не забывая удалить веб-часть со знаком плюс из нажатой зона webpart первая. Это может быть достигнуто с помощью SPLimitedWebPartManager.

Сложной частью могут быть веб-части, доступные на SiteCollection, но вы можете исследовать это.

С уважением,

Pedro

...