SharePoint - не изменять дату изменения при обновлении - PullRequest
1 голос
/ 18 июля 2011

В настоящее время я развертываю решение 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 Ответ

0 голосов
/ 18 июля 2011

Обычно вы используете SystemUpdate, чтобы гарантировать, что измененные поля не будут изменены в SPListItem

Дополнительная информация

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.systemupdate.aspx

...