在回发后刷新之前,确认列表项已保存

时间:2011-12-10 00:37:41

标签: c# sharepoint

我有一个简单的SharePoint页面,显示一个简单的项目列表。

我有一个灯箱,它接收输入的文本并保存一个新的列表项。

当我点击提交按钮时,项目会正确保存,但新项目不会显示。

如果我立即刷新页面,该项目就在那里,这意味着我们的时间非常接近。

在继续页面刷新之前,有没有办法告诉SharePoint确认列表项已保存?

代码如下:

SPList TargetList = web.Lists.TryGetList("Offer Best Practices");
SPListItem item = TargetList.Items.Add();
item["Title"] = TitleBox.Text;
item["Body"] = BodyBox.Text;
item["OfferID"] = OfferID;
item.Update();

加法: 我尝试使用SPListItem.SystemUpdate()无效,以及SPList.Update(),但没有效果。

当我在回发期间刷新期间检查SPListItemCollection.Count时,它会保持在较低的数字。一旦我重新加载页面,数字就会跳到正确的数量。

现在还不是时候。我尝试在SPListItem.Update()之后设置System.Threading.Thread.Sleep(10000),并且行为没有改变。

就好像SharePoint在Session或ViewState结束之前没有注册新项目或类似的东西。

2 个答案:

答案 0 :(得分:1)

我们使用SystemUpdate方法代替Update,这可能是您所需要的。

答案 1 :(得分:1)

如果您的显示控件在加载时绑定,并且您的项目已添加到事件处理程序中,则必须重新绑定显示控件以在回发期间获取新项目。否则它将出现在下一页加载。