您的位置:首页 > 运维架构 > 网站架构

发布网站页面的对象模型操作

2008-02-15 11:41 369 查看
发布网站页面的对象模型操作

使用对象模型创建发布网站的页面并向其中填写文章页的内容。用代码的好处就是可以批量操作。

using System;

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

}

}

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: