Библиотека вики-страниц SharePoint 2010 - ограничить вставку веб-части в вики-страницу

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

Кто-нибудь знает в любом случае, что пользователь сможет вносить свой вклад в контент страницы, редактируя его, но не добавлять веб-части на страницу?

Спасибо

1 ответ

Решение

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

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

public override void ItemUpdating(SPItemEventProperties properties)
        {               
            base.ItemUpdating(properties);                      
            SPListItem item = properties.ListItem; //get the list item being updated
            string pageUrl = item.Url; //get the item url for the web part manager
            SPLimitedWebPartManager lwpm = properties.Web.GetLimitedWebPartManager(pageUrl, PersonalizationScope.Shared); //get the web part manager
            if (lwpm.WebParts.Count > 0) //test for the presence of any web parts
            {
                properties.Cancel = true; //cancel the save
                properties.ErrorMessage = "WebParts are not allowed on this wiki page."; //display message to the user
            }
        }
Другие вопросы по тегам