Добавление кнопки / CTA программно на современную страницу SharePoint с использованием OfficeDev PnP - PullRequest
0 голосов
/ 02 апреля 2020

Я в основном пытаюсь построить свои современные веб-страницы в c# asp. net core webjob. Я могу добавить некоторые базовые c текстовые поля (используя объекты ClientSideText), но при попытке добавить объекты ClientSideWebPart это никогда не работает.

Я пробовал несколько способов, но проблема, кажется, никогда не устанавливает значение для поля ServerProcessedContent (в котором есть только геттер). Когда я добавляю веб-часть через пользовательский интерфейс SharePoint, это значение заполняется.

Вещи, которые я пробовал:

                ClientSideWebPart part = page.InstantiateDefaultWebPart(DefaultClientSideWebParts.Button);
                part.PropertiesJson =
                    "{ 'htmlStrings': {}, 'searchablePlainTexts': { 'label': 'Labelname' }, 'imageSources': {}, 'links': { 'linkUrl': 'https://www.google.com' }}";
                part.PropertiesJson = JObject.FromObject(new
                {
                    htmlStrings = new { },
                    searchablePlainTexts = new
                    {
                        label = "Labelname"
                    },
                    imageSources = new { },
                    links = new
                    {
                        linkUrl = "https://www.google.com"
                    }
                }).ToString();

                page.AddControl(part, section1);

                //var btn= new ClientSideWebPart()
                //{
                //    SpControlData =
                //    {
                //        ControlType = 3,
                //        //WebPartId = "0f087d7f-520e-42b7-89c0-496aaf979d58"
                //    },
                //    PropertiesJson = "{  \"htmlStrings\": {},  \"searchablePlainTexts\": {    \"label\": \"Labeltje\"  },  \"imageSources\": {},  \"links\": {    \"linkUrl\": \"https://www.google.com\"  }}",
                //    Title = "Knop"
                //};
                //page.AddControl(ctaknop, section1);

Заранее спасибо, я действительно застрял в этом , Любые предложения приветствуются!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...