В настоящее время я развертываю решение 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;
}
}
Приведенный выше код отвечает за запись "старой" даты изменения обратно в элемент, если проверено.
Самое смешное в этом кодеэто - это работает, если я вошел в систему как администратор.Как обычный пользователь, этот код выполняется, но измененная дата по-прежнему является текущей датой и временем.
Может кто-нибудь дать мне несколько советов, как решить эту проблему для обычных пользователей?
Спасибо заранее
Стив