C# 以编程方式修改主页上的丰富内容

C# 以编程方式修改主页上的丰富内容,c#,sharepoint-2010,C#,Sharepoint 2010,我在SP2010中以编程方式设置网站集。这个过程运行良好,但我需要能够自定义主页上的一些文本,这些文本包含在富文本中,而不是web部件中。有没有办法获取HTML代码并从代码中修改它?例如,在主页中嵌入了一个标题和一段文字。我想根据配置请求提供的一个输入值自定义标题。有可能这样做吗?如有任何建议,将不胜感激 您可以按如下方式访问内容区域: PublishingWeb pw = null; //"web" is your SPWeb, didn't include using statement f

我在SP2010中以编程方式设置网站集。这个过程运行良好,但我需要能够自定义主页上的一些文本,这些文本包含在富文本中,而不是web部件中。有没有办法获取HTML代码并从代码中修改它?例如,在主页中嵌入了一个标题和一段文字。我想根据配置请求提供的一个输入值自定义标题。有可能这样做吗?如有任何建议,将不胜感激

您可以按如下方式访问内容区域:

PublishingWeb pw = null;
//"web" is your SPWeb, didn't include using statement for your SPSite/SPWeb in this sample
if (PublishingWeb.IsPublishingWeb(web))
{
    pw = PublishingWeb.GetPublishingWeb(web); 
}
//todo: add some handling here for if web is not a publishingWeb
//assuming your home page is the default, if not - get the correct page here
SPFile defaultpage = pw.DefaultPage;
if (!(defaultpage.CheckOutType == SPFile.SPCheckOutType.None))
{
   //programatically creating this stuff, so cancel any unexpected checkouts
   defaultpage.UndoCheckOut();
}
defaultpage.CheckOut();
//Field you want to add HTML in (Alternatively, retreive existing data and modify the HTML)
defaultpage.ListItemAllFields["PublishingPageContent"] = "string of HTML";
defaultpage.ListItemAllFields.Update();
defaultpage.CheckIn("My Comment");

谢谢你的快速回复。经过进一步的挖掘,我被告知我们没有实施发布,所以这对我来说不是一个可行的解决方案。听起来我们将把我们的更改合并到一个新的页面布局中。感谢你清晰、简洁的回答,希望它最终能帮助别人。