与内容一起发布页面
问题描述:
我创建了一个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;
}
}
答
好了,你的代码抓住项目的旧副本。您需要在SPContext.Current.ListItem上调用Update(),这是POST数据的放置位置。