当SPControlMode为New时,SPContext.Current.FormContext.OnSaveHandler不会触发

时间:2010-11-19 21:43:45

标签: sharepoint-2010 sharepoint-designer sharepoint-api

我有一个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
}

0 个答案:

没有答案