2012-01-27 97 views
0

我有一个团队网站,我尝试以编程方式修改其中的页面。此代码在页面中添加了Web部件:设置SharePoint页面的HTML内容

using (SPSite site = new SPSite("http://myserver")) 
{ 
    using (var web = site.OpenWeb("/test16")) 
    { 

     foreach(var l in web.Lists) 
     { 
      Console.WriteLine("list : " + l); 
     } 

     SPList list = web.Lists["Shared Documents"]; 
     // Instantiate the web part 
     ListViewWebPart wp = new ListViewWebPart(); 
     wp.ZoneID = "Left"; 
     wp.ListName = list.ID.ToString("B").ToUpper(); 
     wp.ViewGuid = list.DefaultView.ID.ToString("B").ToUpper(); 

     SPFile file = web.GetFile("/test16/SitePages/Home.aspx"); 
     SPLimitedWebPartManager lwpm = file.GetLimitedWebPartManager(PersonalizationScope.Shared); 
     SPLimitedWebPartCollection webParts = lwpm.WebParts; 
     lwpm.AddWebPart(wp, "Left", 0); 
    } 
} 

Console.WriteLine("Press any key to continue..."); 
Console.ReadLine(); 

如何修改页面的HTML内容?

回答

0

您可以将LiteralControl与HTML像这样添加到您的Web部件并填写:

this.Controls.Add(new LiteralControl("<br /"));

+0

好的,谢谢,这可以工作,但我敢肯定,必须有一种方法来直接编辑Home.aspx文件。 – tplehton 2012-01-27 12:55:10

+0

只要看看[这里](http://blog.sharepointelearning.com/site-level-customizations-and-settings-using-sharepoint-designer-2010/) – 2012-01-30 08:00:01

0

尝试SPFile.CheckOutSPFile.CheckIn

SPFile file = web.GetFile("/test16/SitePages/Home.aspx"); 
file.CheckOut(); 
using (SPLimitedWebPartManager lwpm = file.GetLimitedWebPartManager(PersonalizationScope.Shared)) 
{ 
    try 
    { 
     SPLimitedWebPartCollection webParts = lwpm.WebParts; 
     lwpm.AddWebPart(wp, "Left", 0); 
    } 
    finally 
    { 
     lwpm.Web.Dispose(); 
    } 
}  
file.CheckIn("checkin");   
0

如果您需要修改纯HTML内容,它更好地使用cutom IHttpHandler(包装在DLL中)并通过web.config连接到SharePoint。也允许修改动态内容,如AJAX响应。