我有一个Web部件,我用它来为SharePoint ListItem的New,Edit和Display表单添加一些自定义控件。我为SPContext.Current.FormContext.OnSaveHandler添加了一个处理程序来更新项目。我使用SharePoint Designer将我的Web部件添加到Edit和New窗体,并为默认放入的DataFormWebPart隐藏(设置IsVisible = False)。编辑项目时一切正常。我的OnSaveHandler函数被调用,我更新了SPListItem。问题在于新项目。除非我可以看到DataWebFormPart,否则不会调用OnSaveHandler函数。我不对Web表单进行其他更改,但切换DataFormWebPart的可见性。我有什么想法吗?
if (SPContext.Current.FormContext.FormMode == SPControlMode.Edit ||
SPContext.Current.FormContext.FormMode == SPControlMode.New)
{
SPContext.Current.FormContext.OnSaveHandler += FormContext_OnSave;
}
...
protected void FormContext_OnSave(object sender, EventArgs e)
{
//update the list item
}