I need to access the before and after field values for the list item corresponding to an event receiver in MOSS 2007. The name of the field is
Annual Salary and the InternalName is
Annual_x0020_Salary. I used the following code to determine the value of the field:
properties.BeforeProperties[properties.ListItem.Fields["Annual Salary"].InternalName] // yields null properties.ListItem.Fields["Annual Salary"].InternalName // yields Annual_x0020_Salary properties.BeforeProperties["Annual Salary"])); // yields 100000
I read that fetching the value via the internal name is best practice towards future-proofing the code base. But according to what I am seeing, I am not even able to access the value using the internal name. On the contrary, I am able to access the value via the display name. Is this expected behavior? This is for a document library, if that makes any difference.