SharePoint を初めて使用します。SharePoint 2010 のエンタープライズ Wiki サイトのページ ライブラリ内に Wiki ページをプログラムで作成しようとしています。コードは次のとおりです。
using (SPSite site = new SPSite(SPContext.Current.Web.Url))
{
SPWeb rootWeb = site.RootWeb;
rootWeb.AllowUnsafeUpdates = true;
SPList wiki = rootWeb.Lists["Pages"];
SPFolder rootFolder = wiki.RootFolder;
SPFile wikiPage = rootFolder.Files.Add(String.Format("{0}/{1}", rootFolder.ServerRelativeUrl, "MyWikiPage.aspx"), SPTemplateFileType.WikiPage);
SPListItem wikiItem = wikiPage.Item;
wikiItem["PublishingPageContent"] = "my demo content";
wikiItem.UpdateOverwriteVersion();
rootWeb.AllowUnsafeUpdates = false;
}
ページは作成されますが、問題は、作成されたページが編集できず、デモ コンテンツが挿入されないことです。編集モードで開いた場合、コンテンツ スペースは使用できず、編集オプションはグレー表示されます。
また、次のようにデフォルトのコンテンツを設定しようとしました:
wikiItem[SPBuiltInFieldId.WikiField] = "私のデモ コンテンツ";
しかし、それは無効なフィールドエラーを引き起こします。
代わりに、次のコード行を使用してページを作成しようとしました。
SPFile wikiPage = SPUtility.CreateNewWikiPage(wiki, String.Format("{0}/{1}", rootFolder.ServerRelativeUrl, "MyWikiPage.aspx"));
しかし、結果はまったく同じです。
サイトでは「SharePoint Server Publishing」機能がオンになっており、サイト コレクションでは「SharePoint Server Publishing Infrastructure」機能がオンになっていることを確認しました。
助けてください。