0

我有一个事件接收器,它会在 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
                          });
4

2 回答 2

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
    }
于 2012-04-24T09:17:32.843 回答
2

如果列表是文档库,您可以使用BeforeProperties。如果没有,从事件之前获取值的唯一方法是使用版本(如果列表有它们)或使用ItemUpdating事件。

请参阅在 SPItemEventReceiver 上使用 BeforeProperties 和 AfterProperties,以获取概述不同事件和列表类型的事件接收器属性内容的表格。

于 2012-04-24T13:45:35.270 回答