У меня есть веб-часть, которую я использую для добавления некоторых пользовательских элементов управления в формы «Создать», «Редактировать» и «Отображение» для SharePoint ListItem. Я добавил обработчик для SPContext.Current.FormContext.OnSaveHandler, чтобы обновить элемент. Я добавляю свою веб-часть в формы «Редактировать» и «Новая» с помощью SharePoint Designer и скрываю (установите IsVisible = False) для DataFormWebPart, который вставляется по умолчанию. Все отлично работает при редактировании элемента. Моя функция OnSaveHandler вызывается, и я обновляю SPListItem. Проблема с новым предметом. Функция OnSaveHandler не вызывается, если у меня не видна DataWebFormPart. Я не делаю никаких других изменений в веб-форме, но переключаю видимость 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
}