1

我目前正在部署一个带有发布页面的 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;
        }
    }

如果选中,上面的代码负责将“旧”修改日期写回项目。

这段代码的有趣之处在于 - 如果我以管理员身份登录,它就可以工作。作为普通用户,此代码被执行,但修改后的日期仍然是当前日期和时间。

谁能给我一些建议如何为普通用户解决这个问题?

提前谢谢

史蒂夫

4

1 回答 1

0

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

更多信息

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

于 2011-07-18T13:15:22.387 回答