2012-01-27 94 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響應。