我目前正在部署一个带有发布页面的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;
}
}如果选中,上面的代码负责将“旧的”修改日期写回项目。
这段代码的有趣之处在于--如果我以管理员身份登录,它就能正常工作。作为普通用户,这段代码会被执行,但修改后的日期仍然是当前的日期和时间。
有谁能给我一些建议,如何为普通用户解决这个问题?
提前进行Thx
史蒂夫
发布于 2011-07-18 21:15:22
通常,您可以使用SystemUpdate来确保在SPListItem上修改的字段不会更改
更多信息
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.systemupdate.aspx
https://stackoverflow.com/questions/6731348
复制相似问题