如何使用sharepoint 2010的API创建页面?

本文关键字:创建 API 何使用 sharepoint 2010 | 更新日期: 2023-09-27 18:02:32

我刚刚开始使用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"

如何使用sharepoint 2010的API创建页面?

我就是这样添加我的页面的。实际上,我只需要找到合适的列表标题。这些只是网站上文档库的名称。

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();
    }

如果你正在谈论创建一个新的网站页面,我建议你看看这个教程:

http://blogs.msdn.com/b/kaevans/archive/2010/06/28/creating - - sharepoint站点页面- -代码后面使用视觉工作室- 2010. aspx

花点时间,确保你真的想通过代码添加这个。作为一个最近开始使用SharePoint开发的人,我可以告诉你,使用对象模型有一个相当陡峭的学习曲线。此外,通过UI很容易完成的任务可能很难使用代码完成。

祝你好运! !

此代码适用于我。它创建一个页面("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();
    }