SharePoint - 不要在更新时更改修改日期

时间:2011-07-18 10:10:06

标签: sharepoint sharepoint-2010 last-modified spfield

我目前正在部署带有发布页面的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 :(得分:0)

通常,您使用SystemUpdate来确保修改后的字段不会在SPListItem上更改

更多信息

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