SharePoint - не изменять дату изменения при обновлении
В настоящее время я развертываю решение SharePoint с публикацией страниц. Эти страницы позволяют пользователю выбрать "Не обновлять дату изменения".
Это решается небольшим контролем, размещенным на странице.
<ctrl:ModifiedFieldManager FieldName="Modified" runat="server" id="modifiedmanager">
</ctrl:ModifiedFieldManager>
Этот элемент управления создает флажок, который пользователь может проверить или нет.
Если отмечено, измененное поле должно остаться прежним. Элемент управления происходит от "BaseFieldControl".
public override void UpdateFieldValueInItem()
{
base.EnsureChildControls();
if (this.ModifiedFieldManagerBox.Checked)
{
this.Value = this.Item["Modified"];
base.UpdateFieldValueInItem();
}
else
{
this.Value = DateTime.Now;
}
}
Приведенный выше код отвечает за запись "старой" даты изменения обратно в элемент, если он отмечен.
Самое смешное в этом коде - он работает, если я вошел в систему как администратор. Как обычный пользователь, этот код выполняется, но измененная дата все еще является текущей датой и временем.
Может ли кто-нибудь дать мне несколько советов, как решить эту проблему для обычных пользователей?
Спасибо заранее
Стив
1 ответ
Как правило, вы используете SystemUpdate, чтобы гарантировать, что измененные поля не изменяются в SPListItem
Больше информации
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.systemupdate.aspx