SPContext.Current.FormContext.OnSaveHandler не запускается, когда SPControlMode имеет значение New - PullRequest
3 голосов
/ 20 ноября 2010

У меня есть веб-часть, которую я использую для добавления некоторых пользовательских элементов управления в формы «Создать», «Редактировать» и «Отображение» для 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
}
...