我目前正在部署一个带有发布页面的 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;
}
}
如果选中,上面的代码负责将“旧”修改日期写回项目。
这段代码的有趣之处在于 - 如果我以管理员身份登录,它就可以工作。作为普通用户,此代码被执行,但修改后的日期仍然是当前日期和时间。
谁能给我一些建议如何为普通用户解决这个问题?
提前谢谢
史蒂夫