1
我目前正在部署一個包含發佈頁面的SharePoint解決方案。這些頁面允許用戶選擇「不更新修改日期」。
這是通過放置在頁面上的小控件來解決的。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提前
史蒂夫
你能扎入列表的事件處理並在那裏調用SystemUpdate? –
然後,我必須將複選框的值保存在ContentType的某處,因爲那時我無法訪問該頁面的控件。 – Steve
我剛剛發現,右側的「管理權限」對於用戶能夠覆蓋「更改」字段是必需的。 - 很奇怪 – Steve