3

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 のサイトに存在しません」が発生します

4

3 に答える 3

2

これは、最終的に自分のページを追加するために行ったことです。基本的に、適切なリストのタイトルを見つける必要がありました。これらは、サイト上のドキュメント ライブラリの名前にすぎません。

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();
    }
于 2011-07-18T20:01:01.233 に答える
0

新しいサイトページの作成について話している場合は、このチュートリアルを参照することをお勧めします。

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

少し時間を取って、実際にコードを介してこれを追加したいことを確認してください。最近SharePointで開発を開始した人として、オブジェクトモデルを使用する場合、かなり急な学習曲線があると言えます。また、UIを介して簡単に実行できるタスクは、コードを使用すると非常に難しい場合があります。

幸運を!!!

于 2011-07-13T22:46:34.633 に答える
0

このコードは私にとって有効です。コンテンツ テストでページ ("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();
    }
于 2014-03-27T09:33:28.680 に答える