我目前正在部署带有发布页面的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;
}
}
如果选中,上面的代码负责将“旧”修改日期写回项目。
这段代码很有趣的是 - 如果我以管理员身份登录,它就有效。 作为普通用户,此代码会被执行,但修改日期仍然是当前日期和时间。
有人可以给我一些建议如何为普通用户解决这个问题吗?
提前进行
史蒂夫
答案 0 :(得分:0)
通常,您使用SystemUpdate来确保修改后的字段不会在SPListItem上更改
更多信息
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.systemupdate.aspx