2012-01-27 17 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

あなたのWebパーツにLiteralControlを追加し、このようにHTMLでそれを埋めることができます。

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

+0

ありがとう、それはうまくいくかもしれませんが、私はHome.aspxファイルを直接編集する方法がなければならないと確信しています。 – tplehton

+0

ちょうど見て[ここ](http://blog.sharepointelearning.com/site-level-customizations-and-settings-using-sharepoint-designer-2010/) –

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に接続する方が良いです。 Isは、AJAXレスポンスのような動的コンテンツを変更することも許可しています。