「ページ」リストの「ItemAdded」イベントでアクティブ化されるイベント レシーバーを作成しました。コードは正常に実行されますが、私の問題はこれです。Sub ItemAdded の呼び出し中に、現在のリスト アイテム (この場合は aspx ページ) に属するフィールドの値を変更したいと考えています。
アイデアは、イベント レシーバーが構成する別の値になるように「タイトル」フィールドを構成できるということです。ユーザーが編集モードでページを表示するまでに、新しいタイトルがページに保存されます。これが私の現在の試みです:
Public Overrides Sub ItemAdded(ByVal properties As Microsoft.SharePoint.SPItemEventProperties)
Dim newItem As SPListItem = properties.ListItem
Dim currentSiteTitle As String = properties.OpenWeb().Title
UpdateItemTitle(newItem, currentSiteTitle)
newItem.Update()
'newItem.SystemUpdate()
End Sub
ご覧のとおり、Update() と SystemUpdate() の両方を試しましたが、どちらの場合も、ユーザーがページをチェックインしようとすると、ページが外部で変更されたというメッセージが表示されます。さらに、ページを表示すると、タイトル フィールドの値は変更されていません。
私がやろうとしていることは可能ですか、それとももっと良い方法がありますか?
乾杯。ジャス。