我创建了一个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 :(得分:0)
好吧,你的代码抓住了项目的OLD副本。您需要在SPContext.Current.ListItem上调用Update(),这是POST数据的放置位置。