2009-07-07 7 views
1

Ich versuche zu finden, wie sich der Wert eines Felds in einem ItemUpdat ing Ereignisempfänger geändert hat. Der Anzeigename und der interne Name des bestimmten Felds lautet Regions.ItemUpdating zeigt keine geänderten Werte im SharePoint-Ereignisempfänger an

Sobald ItemUpdating getroffen wird, ist der Wert des Regions Feld für die folgenden identisch:

properties.AfterProperties["Regions"] 
properties.BeforeProperties["Regions"] 
properties.ListItem["Regions"].ToString() 

ich die letzten beiden erwarten würde den alten Wert enthalten, aber sicher sollte AfterProperties richtig eingestellt sein.

Weiß jemand, wie ich den geänderten Wert erhalten kann?

Aktualisierung: Der Ereignishandler ist an eine Veröffentlichungsseitenliste von MOSS 2007 angehängt.

Antwort

1

ich auf die Veröffentlichung Seiten Bibliotheken eine Menge Ärger mit Event-Handler hatte. Denke, es kommt von anderen Eventhandlern, die dort bereits veröffentlicht wurden. Ich hatte einen besseren Erfolg mit der Aktualisierung, können Sie dazu wechseln oder benötigen Sie das Synchronisierungsereignis, um die Änderung zu blockieren?

+0

Ich muss nicht blockieren, nur einige Werte ändern. Ich werde weiter untersuchen (vielleicht versuchen ItemUpdated) und zurück mit dem, was ich finde. Willkommen, übrigens :) –

+0

Geändert zu ItemUpdated. Alles funktioniert gut, nicht einmal die "Seite wurde von einer anderen Person geändert" Fehler! –

0

Versuchen Sie dies in einer Liste oder Dokumentbibliothek?

Es funktioniert nur auf der Doc Lib Bitte lesen Sie diese MSDN und another on same subject

+0

Vielleicht habe ich es verpasst, aber ich sehe nichts in dem MSDN-Artikel, der dies genau beschreibt. In Ihrem zweiten Link wird auch angegeben, dass die AfterProperties für ItemUpdating _is_ sowohl in einer Liste als auch in einer Dokumentbibliothek geändert wurden. Also scheinen sie nicht zu helfen? –