使用对象模型创建发布网站的页面并向其中填写文章页的内容。用代码的好处就是可以批量操作。
using
System;<?XML:NAMESPACE PREFIX = O />
using
System.Collections.Generic;
using
System.Text;
using
Microsoft.SharePoint;
using
Microsoft.SharePoint.Publishing;
using
System.IO;
namespace
CreatePublishPage
{
class Program
{
public static void CreateNewPage(SPWeb web)
{
// TODO: Replace these variable values with your own
// values.
//
// The URL name of the new page
string newPageName = "testpage";
//
// The comment to set when the page is checked in.
string checkInComment = "Your check in comments";
// Validate the input parameters.
if (null == web)
{
throw new System.ArgumentNullException("web");
}
// Get the PublishingWeb wrapper for the SPWeb
// that was passed in.
PublishingWeb publishingWeb = null;
if (PublishingWeb.IsPublishingWeb(web))
{
publishingWeb = PublishingWeb.GetPublishingWeb(web);
}
else
{
throw new System.ArgumentException("The SPWeb must be a PublishingWeb", "web");
}
// Create the new page in the PublishingWeb.
PublishingPageCollection pages = publishingWeb.GetPublishingPages();
PageLayout[] plc = publishingWeb.GetAvailablePageLayouts();
PageLayout pageLayout = plc[0];
PublishingPage newPage = pages.Add(newPageName+".aspx", pageLayout);
newPage.Title = newPageName;
newPage.Update();
// Check the new page in so that other contributors
// can work on it.
byte[] fs = newPage.ListItem.File.OpenBinary();
string s = Encoding.UTF8.GetString(fs);
//Edit the page content
string news = "publishing page content. ";
string ss = s.Replace(@"</mso:PublishingPageLayout>", "</mso:PublishingPageLayout><mso:PublishingPageContent msdt:dt=\"string\">"+news+"</mso:PublishingPageContent><mso:PublishingRollupImage msdt:dt=\"string\"></mso:PublishingRollupImage>");
byte[] ffs = Encoding.UTF8.GetBytes(ss);
newPage.ListItem.File.SaveBinary(ffs);
newPage.ListItem.File.Update();
// newPage.ListItem.File.
newPage.CheckIn(checkInComment);
publishingWeb.Update();
Console.WriteLine("Success!");
}
static void Main(string[] args)
{
// CreateNewPage();
string url = "http://moss:8017/Pages";
SPSite site = new SPSite(url);
SPWeb web = site.OpenWeb();
CreateNewPage(web);
}
}
}
|
转载于:https://blog.51cto.com/bearstudyhard/298392