2011-09-20 75 views
0

我創建了一個PageLayout,它與一個帶有按鈕的代碼隱藏相關聯的內容類型。當單擊按鈕時,它會檢入併發布該頁面。功能可以工作,但內容不會保存在頁。與內容一起發佈頁面

但是,當我單擊頁面頂部的簽入按鈕(開箱即用)時,它會保存內容。

下面是代碼:

SPList pagesList = SPContext.Current.Web.Lists["Pages"]; 
SPFolder folder = pagesList.ParentWeb.GetFolder(SPContext.Current.Web.Url + "/" + pagesList + "/" + "PhlyEventsPages"); 
SPListItemCollection itemCol = pagesList.Items; 
foreach (SPListItem item in itemCol) 
{ 
    if (item["FileLeafRef"].ToString()==getCurrentUrl()) 
    { 
     if (item.File.CheckOutStatus == SPFile.SPCheckOutStatus.LongTerm) 
     {        
      item.File.Update(); 
      pagesList.Update(); 
      item.File.CheckIn("Page Created"); 
      item.File.Publish("Published"); 
      break; 
     } 
} 

回答

0

好了,你的代碼抓住項目的舊副本。您需要在SPContext.Current.ListItem上調用Update(),這是POST數據的放置位置。

相關問題