Как создать страницу с помощью API для sharepoint 2010? - PullRequest
3 голосов
/ 14 июля 2011

Я только начал использовать Sharepoint Foundation 2010 и пытаюсь написать функцию из c # для добавления страниц на сайт.

У меня есть код, работающий над созданием нового сайта, но я не могу найти никакой документации о добавлении страницы на существующий сайт с использованием объектной модели клиента.

Это, наверное, простой вопрос, но если кто-нибудь может мне помочь, я был бы признателен.

Спасибо.

Обновление

Это то, что я имею до сих пор:

private void createPage()
    {
        ClientContext context = new ClientContext(url);
        Site siteCollection = context.Site;
        Web site = context.Web;

        List pages = site.Lists.GetByTitle("Pages");
        FileCreationInformation fileCreateInfo = new FileCreationInformation();
        fileCreateInfo.Url = "NewPage";
        fileCreateInfo.Content = System.Text.Encoding.ASCII.GetBytes("Test");
        context.Load(pages.RootFolder.Files.Add(fileCreateInfo));

        context.ExecuteQuery();
        context.Dispose();
    }

Но я получаю исключение сервера «Список« Страниц »не существует на сайте с URL»

Ответы [ 3 ]

2 голосов
/ 19 июля 2011

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

private void createPage()
    {
        ClientContext context = new ClientContext(URL);
        Site siteCollection = context.Site;
        Web site = context.Web;

        List pages = site.Lists.GetByTitle("Site Pages");

        Microsoft.SharePoint.Client.
        FileCreationInformation fileCreateInfo = new FileCreationInformation();
        fileCreateInfo.Url = "NewPage.aspx";
        context.Load(pages.RootFolder.Files.Add(fileCreateInfo));

        context.ExecuteQuery();
        context.Dispose();
    }
0 голосов
/ 27 марта 2014

Этот код работает для меня.Создает страницу («NewPage.aspx») с проверкой содержимого.

private void createPage()
    {
        ClientContext context = new ClientContext(URL);
        Site siteCollection = context.Site;
        Web site = context.Web;

        List pages = site.Lists.GetByTitle("Site Pages");

        Microsoft.SharePoint.Client.
        FileCreationInformation fileCreateInfo = new FileCreationInformation();
        fileCreateInfo.Url = "NewPage.aspx";
        fileCreateInfo.Content = System.Text.Encoding.ASCII.GetBytes("Test");
        context.Load(pages.RootFolder.Files.Add(fileCreateInfo));

        context.ExecuteQuery();
        context.Dispose();
    }
0 голосов
/ 14 июля 2011

Если вы говорите о создании новой страницы сайта, я бы порекомендовал посмотреть этот урок:

http://blogs.msdn.com/b/kaevans/archive/2010/06/28/creating-a-sharepoint-site-page-with-code-behind-using-visual-studio-2010.aspx

Подумайте секунду и убедитесь, что вы действительно хотите добавить это через код,Как человек, который недавно начал разработку с SharePoint, я могу вам сказать, что при работе с объектной моделью существует довольно крутая кривая обучения.Кроме того, задачи, которые легко выполнить с помощью пользовательского интерфейса, могут быть довольно сложными при использовании кода.

Удачи !!!

...