Удаление и обновление элемента получателя событий Sharepoint 2010 - PullRequest
1 голос
/ 11 июля 2011

При удалении элемента я хочу обновить другой список. Ниже мой код.

 public override void ItemDeleting(SPItemEventProperties properties)
        {
            base.ItemDeleting(properties);

            string listName = properties.ListTitle;

            if (listName == "Training Instances")
            {
                using (SPSite site = new SPSite(properties.WebUrl))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        string title = properties.ListItem["Title"].ToString();

                        SPList trainingSubscriptionsList = web.Lists.TryGetList("Training Subscriptions");

                        SPQuery query = new SPQuery();
                        query.Query = "<Where><Eq><FieldRef Name='Training' /><Value Type='Text'>" + title + "</Value></Eq></Where>";

                        SPListItemCollection listItemCollection = trainingSubscriptionsList.GetItems(query);

                        foreach (SPItem ts in listItemCollection)
                        {
                            if (ts["Status"].ToString() == "Available")
                            {
                                ts["Status"] = "Pending";
                            }
                        }
                    }
                }
            }
        }

Проблема в том, что элемент был удален, но обновление не происходит. Любая помощь очень важна. Спасибо.

Ответы [ 3 ]

1 голос
/ 13 июля 2011

Вы должны обновить предмет:

...
    foreach (SPItem ts in listItemCollection)
    {
      if (ts["Status"].ToString() == "Available")
      {
        ts["Status"] = "Pending";
        ts.Update(); // or SystemUpdate()
      }
    }
0 голосов
/ 11 июля 2011

Я также новичок в sharepoint, не понимаю в чем проблема.

Вызовите этот метод после выполнения вашей работы, может быть, он работает base.ItemDeleting (properties);

0 голосов
/ 11 июля 2011

Мне всегда больше всего удавалось сделать проверку в событиях "ing" и обновления в событиях "ed". Попробуйте вместо этого использовать ItemDeleted.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...