2011-07-13 5 views
3

Sharepoint Foundation 2010を使い始めたばかりで、サイトにページを追加するためにC#から関数を書き込もうとしています。sharepoint 2010のAPIを使用してページを作成するにはどうすればよいですか?

新しいサイトを作成するためにいくつかのコードを作成しましたが、クライアントオブジェクトモデルを使用して既存のサイトにページを追加する方法についてのドキュメントは見つかりません。

これはおそらく簡単な質問ですが、誰かが私を助けることができるなら、私はそれを感謝します。

ありがとうございました。

更新

これは私がこれまで持っているものです。

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

しかし、私は

+0

どのようなページを追加しますか、それはサイトページですか? 「既存のページにページを追加する」は私にとっては奇妙に聞こえる。 –

+0

申し訳ありませんタイプミス、私は既存のサイトにページを追加することを意味しました。 – Matt

答えて

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

私はこれが古いと知っていますが、このコードを試してみると、エラーが表示されます: ''parameters.Content'引数をnullにすることはできません。 パラメータ名:parameters.Content' – jasonscript

0

場合は、サーバーの例外は「リスト 『ページは、』 URLでサイトに存在しません」を取得あなたは新しいサイトページの作成を話しています。このチュートリアルでは、このチュートリアルをお勧めします:

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を使用して簡単に実行できるタスクは、コードを使用すると非常に難しい場合があります。

幸運!!!

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(); 
    } 
関連する問題