2010-06-03 24 views
0

我们已经使用Feature.xml,Element.xml,Schema.xml AllItems.aspx和3个aspx窗体以编程方式创建了自定义列表模板。我们为每个这些aspx文件都有一个代码文件。即AllItems.aspx,DispForm.aspx,EditForm.aspx和NewForm.aspx。在创建列表时尝试添加新列表项目时保存冲突错误

有问题的文件是AllItems.aspx。在AllItems.aspx文件后面的代码中,我们删除了之前的列表项并在向用户显示之前向列表中添加了新项。根据预期,AllItems.aspx的文件背后的代码是从WebPartPage Class派生的,我们试图重载相当多的方法,但没有取得太大的成功。

问题仅发生在首次渲染时,即创建此列表的一个实例时。当重写OnLoad()时,我们得到了保存冲突错误,与OnInit(),CreateChildControls()方法类似。但是,当我们重写Render()或RenderChildren()方法时,不会出现这样的错误,但同时我们的新列表项目也不可见。在浏览器刷新一切开始正常工作正常。这只是第一次出现这个问题。

这可能是什么原因造成的?任何想法,建议将不胜感激。

最好的问候,

Raghu

+0

任何人有任何建议吗? – Raghu 2010-06-04 16:54:10

+0

你把EnsureChildControls放在你的CreatChildControls代码中吗? – 2010-06-09 21:37:00

+0

不,我使用CreateChildControls方法时没有放置EnsureChildControls。 – Raghu 2010-06-14 15:15:02

回答

0

我有一个自定义EditForm.aspx问题。我有两个链接在一起的列表,一个更改会导致事件处理程序更新另一个列表。我在编辑链接列表的EditForm.aspx中有一个自定义控件。这导致事件处理程序更新EditForm.aspx显示的项目。这反过来会在用户保存表单时导致冲突错误。

我终于发现,我可以重新与上下文:

SPContext.Current.ResetItem(); 

我不知道这是否会在你的情况帮助,但它固定我的问题。

+0

注意:这会导致真正的冲突不被检测到。 – jkg0 2011-06-06 17:32:20

相关问题