Как получить доступ к WebPartManager из списка?
-
09-12-2019 - |
Вопрос
Я хотел бы программно добавить CEWP в список (для выполнения операций в моих формах списка), очень легко сделать через интерфейс SP, но мне не удалось связаться с WebPartManager моего списка с кодом...
Спасибо заранее
Решение
Ваш список не содержит менеджера WebPart.Ваши страницы содержат менеджер веб-сайта.К счастью, формы для спорения / редактирования являются страницы в вашем «папке списка».
Это означает, что вы сможете открыть желаемый список в диспетчере веб-пара:
var editFormUrl = listUrl + "/Forms/EditForm.aspx";
var wpm = web.GetLimitedWebPartManager( editFormUrl, PersonalizationScope.Shared );
wpm.AddWebPart( new YourCustomWebPart(), "Main", 0 );
.
Это должно дать вам менеджер WebPart для формы редактирования в библиотеке документов и добавить веб-панель с именем YourCustomWebPart
к нему (обычные списки, не хватает / формы / часть URL, поэтому для этих списков просто удалите его). .
FYI: список форм содержит только одну зону веб-сайта с именем «Main», и она уже имеет веб-панель типа ListFormWart в нем.Это веб-сайт, который показывает вам данные элемента списка.
Я не проверил манипулирование этим формированием таким образом, поэтому я не знаю, на самом деле работает, но вот как вы работаете с SPLIMITEDWEBPARTMANGER в любом случае :).