我有一个事件接收器,当SPList中的SPListItem被更新时将触发。我正在使用ItemUpdated()事件。
我想从事件之前获取值,以便我可以比较已编辑的字段。
我该怎么做?
if (properties.ListTitle == "Lista")
{
if (properties.AfterProperties["Start Time"].ToString() != properties.ListItem["Start Time"].ToString())
{
string s = "hej";
}
}
try
{
// ID for the site from the properties object
Guid siteId = properties.SiteId;
// ID for the list from the properties object
Guid listId = properties.ListId;
// ID for the list item from the properties object
int listItemId = properties.ListItemId;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
// Code stuff
});
答案 0 :(得分:2)
if (properties.ListTitle == "ListName")
{
//AfterProperties gives new value and ListItem gives the previously stored
if(properties.AfterProperties["ColumnName"].ToString()!=properties.ListItem["ColumnName"].ToString())
//Your code Here
}
答案 1 :(得分:2)
如果列表是文档库,则可以使用BeforeProperties。如果没有,从事件之前获取值的唯一方法是使用versions(如果列表中包含它们)或使用ItemUpdating事件。
有关不同事件和列表类型的事件接收器属性内容的表格,请参阅Working with BeforeProperties and AfterProperties on SPItemEventReceiver。