Теперь, следуя вышесказанному, я обнаружил, что когда я работал с дискуссионной группой, единственное место, где я мог изменить любые поля в элементе списка, это метод ItemUpdating, где я мог назначить новое значение в свойствах. Хэш AfterProperties, соответствующий имени элемента, как упомянуто ранее.
К сожалению, это, похоже, не запускалось автоматически, когда в обсуждение был добавлен новый ответ (возможно, это происходит в других сценариях, связанных со списком), но если я поместил код в метод ItemAdded (ItemAdding также не вызывался) обнаружил, что он запускается, но я не могу изменить элемент оттуда, поэтому у меня получилось что-то вроде этого в itemAdded:
public override void ItemAdded(SPItemEventProperties properties)
{
SPListItem item = properties.ListItem;
item.Update();
}
Результатом этого является то, что поле обновляется, но не раньше, чем оно будет показано , так что когда пользователь направляется на страницу вывода, список будет выглядеть так же, как и раньше, но если вы измените представление или посмотрите на детали ответа, вы обнаружите, что он действительно изменился, как и предполагалось.
Это достаточно хорошо для меня, так как я ожидаю, что большинство моих ответов придет по электронной почте.