現在、ページを発行する 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;
}
}
上記のコードは、チェックされている場合、「古い」Modified-Date をアイテムに書き戻す役割を果たします。
このコードの面白い点は、管理者としてログインしている場合に機能することです。通常のユーザーとしてこのコードが実行されますが、変更された日付は現在の日付と時刻のままです。
通常のユーザーがこれを解決する方法を誰かにアドバイスしてもらえますか?
事前にThx
スティーブ